21

私はこれをやってみましたが、これは横にテキストのないラジオボタンのみを表示します..

<% foreach (string s in Html.RadioButtonList("rbl")) {%>
    <% =s %>
<% } %> 
4

6 に答える 6

13

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>
<% } %>
于 2009-04-02T20:22:48.007 に答える
9

以前はプレビューに含まれていましたが、削除されました。

先物で見つからない場合は、このようなものを試してください

<% 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 />
<% } %>
于 2009-01-04T02:16:35.627 に答える
7

私だったら、一連の静的な HTML 要素を使用するだけです。ASP の時代に逆行することを検討している人もいると思いますが、それは IMO を単純化し、より信頼性が高く期待できる [だから私が言葉を作った] GUI を作ることになります。

于 2008-12-09T18:21:42.460 に答える
6
@{
    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/>
}
于 2012-08-30T05:37:12.623 に答える
1

Daniel Gidman による素敵なヘルパー (2012 年 6 月 14 日) を参照して ください。彼は、MVC で RadioButtonList の優れた完璧なヘルパーを作成しました。

于 2013-07-27T07:21:05.123 に答える
-1

codeplexのMVC ソースで利用可能な MVC Futures DLL を確認してください。その中には、RadioButton リストをレンダリングするための HtmlHelper 拡張機能があります。ViewData で SelectList を自動的にレンダリングするか、明示的に渡すことができます。さまざまなニーズに合わせて、いくつかのオーバーロードを利用できます。

于 2008-12-10T04:28:16.323 に答える