Я получил следующий HTML:
<div class="horizontalRadio">
<label for="SearchBag.DisplayTypeChips" id="DisplayTypeChipsLabel">
<%=ViewData.Model.T9nProvider.TranslateById("CommonWeb.Chips")%>
</label>
<%=Html.RadioButton("displayType", DisplayTypes.Chip,
Model.DisplayType.Equals(DisplayTypes.Chip.ToString(), StringComparison.InvariantCultureIgnoreCase),
new { @id = "SearchBag.DisplayTypeChips" })%>
</div>
<div class="horizontalRadio">
<label for="SearchBag.DisplayTypeGrid" id="DisplayTypeGridLabel">
<%=ViewData.Model.T9nProvider.TranslateById("CommonWeb.Grid")%>
</label>
<%=Html.RadioButton("displayType", DisplayTypes.Grid,
Model.DisplayType.Equals(DisplayTypes.Grid.ToString(), StringComparison.InvariantCultureIgnoreCase),
new { @id = "SearchBag.DisplayTypeGrid" })%>
</div>
Всякий раз, когда Model.DisplayType
является "сеткой", все в порядке; вторая кнопка отмечена.
Когда значение «чип», ничего не проверяется. В отладчике я вижу, что Model.DisplayType.Equals(DisplayTypes.Chip.ToString())
верно. Когда я меняю название кнопок на что-то другое, оно тоже работает.
Бывает, я не хочу менять имя, потому что это имя имеет смысл. Это имя я использую в своем приложении ...
Есть идеи, ПОЧЕМУ это имя злое?