2013-11-22 1 views
0

Я хотел бы изменить web.config так, что ключ будет содержать несколько значений:Изменить ключ в web.config для хранения нескольких значений

я теперь внес изменения в код, как предложено,

что должно произойти является то, что если продукт SKU начинается либо с O-GREET или O-PEGC то модуль Punchout запустится, если не продукт добавлен в корзину, как обычно,

в файле web.config у меня есть:

<add key="PunchOutOnSKUPrefix" value="O-GREET,O-PEGC"/> 

и в соответствующем контроллере (ShoppingCartCOntroller)

Extensions.PunchOut punchOut = new Extensions.PunchOut(); 

      Boolean isPunchOut; 
      String id = productVariant.Sku; 
      String ticketId = null; 

      // Check that the product supports Punch out integration by looking at the first 3 letters of its SKU 

      if (String.IsNullOrWhiteSpace(id)) 
      { 
       isPunchOut = false; 
      } 
      else 
      { 
       option = id.Substring(0, 7); 
       isPunchOut = ConfigurationManager.AppSettings["PunchOutOnSKUPrefix"].Split(',').DefaultOrNull(s => s.Equals(option)); 
     } 
+1

Можете ли вы объяснить, что делает эта строка кода? 'Split' возвращает массив, и вы сравниваете это со строкой, которая вызывает ошибку. – David

+0

вопрос теперь изменен с новым кодом и объяснением – Corbo152

+0

Теперь я понимаю больше, переходя к 'ConfigurationManager.AppSettings [" PunchOutOnSKUPrefix "]. Split (','). Любой (s => id.StartsWith (s)) должен помочь. –

ответ

1

Split возвращает массив вариантов, если вы хотите найти определенное значение, использование:

var option = id.Substring(0, 7); 
var isPunchOut = ConfigurationManager.AppSettings["PunchOutOnSKUPrefix"].Split(',').DefaultOrNull(s => s.Equals(option)); 

Если вы хотите проверить, если id начинается с любым из значений, используйте:

var isPunchOut = ConfigurationManager.AppSettings["PunchOutOnSKUPrefix"].Split(',').Any(s => id.StartsWith(s)); 
+0

Теперь исправленные детали вопроса с полным фрагментом кода и добавленным измененным кодом в соответствии с вашим предложением, никаких ошибок просто добавляет продукт в корзину, как обычно – Corbo152

 Смежные вопросы

  • Нет связанных вопросов^_^