2009-05-26 71 views
1

我得到了以下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())是真的。當我將按鈕的名稱更改爲不同的東西時,它也起作用。
發生我不想更改名稱,因爲這是有意義的名稱。這是我在我的應用程序中使用的名稱...

任何想法爲什麼這個名字是邪惡的?

回答

2

在ASP.NET MVC中存在一個問題,即在模型上使用與「分組」元素名稱相同的屬性(例如select或radio組)。

有關詳細信息,請參閱http://weblogs.asp.net/ashicmahtab/archive/2009/03/27/asp-net-mvc-html-dropdownlist-and-selected-value.aspx

可能是這樣,值得一試。

+0

這的確聽起來像是這個問題。謝謝。我想我會通過不使用助手來解決這個問題,因爲它本質上只是一個輸入類型的收音機。 – 2009-05-26 08:45:09

相關問題