Я хотел бы изменить 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));
}
Можете ли вы объяснить, что делает эта строка кода? 'Split' возвращает массив, и вы сравниваете это со строкой, которая вызывает ошибку. – David
вопрос теперь изменен с новым кодом и объяснением – Corbo152
Теперь я понимаю больше, переходя к 'ConfigurationManager.AppSettings [" PunchOutOnSKUPrefix "]. Split (','). Любой (s => id.StartsWith (s)) должен помочь. –