簡體   English   中英

用於模型列表的for循環中的RadioButtonFor

[英]RadioButtonFor in a for loop for a model list

問題很簡單,我有一個局部視圖,其模型是一個列表。 我正在嘗試為列表中的每個項目的布爾參數綁定單選按鈕。 列表中只能選擇一項,因此可以選擇單選按鈕。 該模型已正確綁定了所有其他應綁定到單選按鈕的布爾值以外的參數。 下面的代碼是我的局部代碼的截斷版本。

注意-由於我的應用具有多個路由,因此我需要使用“ BeginRouteForm”幫助器。 另外,我使用的是“ for”循環,而不是“ foreach”,因為當將其發送給控制器時,似乎foreach沒有正確綁定我的模型。

@model TestListModel
@using (Ajax.BeginRouteForm("Default", new { action = "Submit", controller = "TheController" }, new AjaxOptions { OnSuccess = "DoSomething" })) {
<table>
    <thead>
        <tr>
            <th></th>
        </tr>
    </thead>
    <tbody>
        @for (int i = 0; i < Model.List.Count(); i ++) {
            @Html.HiddenFor(x => Model.List[i].Id)
            <tr>
                <td>
            @{
                Dictionary<string, object> attributes = new Dictionary<string, object>();
                attributes.Add("Name", "test");
                attributes.Add("id", "");
                @Html.RadioButtonFor(x => x.SelectedId, Model.List[i].Id, attributes)
            }
            </tr>
        }
    </tbody>
</table>
    <input type="submit" value="Submit" style="margin: 10px 0px 0px 0px;" />
}

更新:好的,所以我很笨(很可能是一天的結束),但是我正在對單選按鈕進行建模,就好像它們是一個復選框。 解釋為什么綁定無法正常工作。 我將上面的代碼更新為新代碼,現在我使用的是帶有“ selectedid”而不是IEnumerable的模型。 問題是,它仍然無法正常工作

刪除以下內容即可解決。

attributes.Add("Name", "test");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM