C# 为什么';我的第一个单选按钮没被检查吗?
我得到了以下Html:C# 为什么';我的第一个单选按钮没被检查吗?,c#,.net,html,asp.net-mvc,C#,.net,Html,Asp.net Mvc,我得到了以下Html: <div class="horizontalRadio"> <label for="SearchBag.DisplayTypeChips" id="DisplayTypeChipsLabel"> <%=ViewData.Model.T9nProvider.TranslateById("CommonWeb.Chips")%> </label> <%=Html.RadioButton
<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
为“网格”,一切正常;第二个按钮已选中。当值为“chip”时,不检查任何内容。在调试器中,我可以看到
Model.DisplayType.Equals(DisplayTypes.Chip.ToString())
是真的。当我将按钮的名称更改为其他名称时,它也会起作用。碰巧我不想更改名称,因为这是一个有意义的名称。这是我在整个应用程序中使用的名称
你知道为什么这个名字是邪恶的吗?在ASP.NET MVC中有一个问题,关于模型上的属性与“分组”元素(如select或radio组)的名称相同 有关详细信息,请参阅
可能是这样,值得一试。这听起来确实是个问题。谢谢。我想我可以通过不使用helper来解决这个问题,它本质上只是一个输入型收音机。。