私はこれをやってみましたが、これは横にテキストのないラジオボタンのみを表示します..
<% foreach (string s in Html.RadioButtonList("rbl")) {%>
<% =s %>
<% } %>
私はこれをやってみましたが、これは横にテキストのないラジオボタンのみを表示します..
<% foreach (string s in Html.RadioButtonList("rbl")) {%>
<% =s %>
<% } %>
Elijah Manorは、ASP.NETMVC1.0で同じ問題について次のように書いています。
ASP.NETMVCHtml.RadioButtonListブルース
彼は自分のデータソースをループして、個々のHtml.RadioButtonとLabelの組み合わせを作成することにしました。
<!-- 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 を作ることになります。
@{
var radioButtonList = new SelectList(new List<ListItem> {
new ListItem { Text = "1", Value="true", Selected=true },
new ListItem { Text = "2", Value="false"},
new ListItem { Text = "3", Value="false"},
new ListItem { Text = "4", Value="false"},
}, "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.RadioButtonFor(m => m.ContactDepartment, @radiobutton.Text) @radiobutton.Text
<br/>
}
Daniel Gidman による素敵なヘルパー (2012 年 6 月 14 日) を参照して ください。彼は、MVC で RadioButtonList の優れた完璧なヘルパーを作成しました。
codeplexのMVC ソースで利用可能な MVC Futures DLL を確認してください。その中には、RadioButton リストをレンダリングするための HtmlHelper 拡張機能があります。ViewData で SelectList を自動的にレンダリングするか、明示的に渡すことができます。さまざまなニーズに合わせて、いくつかのオーバーロードを利用できます。