Elijah Manor записал о той же проблеме в ASP.NET MVC 1.0:
ASP.NET HTML MVC. Блюз RadioButtonList
Он решил циклично выполниться через свой DataSource и создать отдельный HTML. RadioButton и комбинации Маркировки.
<!-- After using and looking at the code for the Html.RadioButtonList in the ASP.NET MVC 1.0 RTM codebase, I'm not sure how it is supposed to be useful. It only outputs the actual input radio button and doesn't render any corresponding labels. To get around this I ended up writing a foreach creating individual Html.RadioButton and labels -->
<%
var radioButtonList = new SelectList(new List<ListItem> {
new ListItem { Text = "Current", Value="false", Selected=true },
new ListItem { Text = "Other", Value="true"}}, "Value", "Text", "false");
var htmlAttributes = new Dictionary<string, object> {
{ "class", "radioButtonList" },
{ "onclick", "if(eval(this.value)) { $('#tblDate').show('slow'); } else { $('#tblDate').hide('slow'); }" }
};
foreach (var radiobutton in radioButtonList) { %>
<%=Html.RadioButton("rblDate", radiobutton.Value, radiobutton.Selected, htmlAttributes)%>
<label><%=radiobutton.Text%></label>
<% } %>
Это раньше было в предварительных просмотрах, но это было удалено.
, Если Вы не можете найти, это во фьючерсах пробует что-то вроде этого
<% foreach (Model model in Models))
{
%><%= String.Format("<input type=\"radio\" value=\"{0}\" name=\"{1}\" id=\"{2}\"><label for=\"{2}\">{3}</label>",
model.ID, "fieldName", model.modelID, model.Name) %><br />
<% } %>
Если бы это был я, то я просто использовал бы серию статических элементов HTML. Я знаю, что некоторые рассматривают выполнение такого возврата ко дням ASP, но это упрощает вещи IMO и заканчивает тем, что делало для более надежного и вероятного [таким образом, я составил слово] GUI.
Проверьте фьючерсы MVC DLL, доступный в источник MVC на codeplex. В нем существует расширение HtmlHelper для рендеринга списков RadioButton. Это может автоматически представить SelectList в ViewData, или можно передать его явно. Несколько перегрузок доступны для различных потребностей.