簡體   English   中英

MVC在對象集合的編輯視圖的下拉列表中顯示對象值

[英]MVC Display object value in dropdownlist in edit view of object collection

我在將數據從控制器傳遞到視圖和反之亦然時遇到一些問題。 這是我的控制器:

ViewBag.MANAGER_IDS = new SelectList(db.APP_USERS, "USER_ID", "USER_ID");
return View(app_users_manager);

我要做的是在每個對象的下拉列表中填充填充管理器ID(即app_users_manager)

以下是我的看法:

@model List<HRM.Models.APP_USERS_MANAGER>
@{
    ViewBag.Title = "Edit managers";
}
@using (Html.BeginForm("Edit", "UserManager", FormMethod.Post)) {
    @Html.AntiForgeryToken()

    <table>
        <tr class="myidtr">
            <th>Manager role</th>
            <th>Manager</th>
        </tr>
        @for (int i = 0; i < Model.Count; i++)
        {
            <tr class="mytr">
                @Html.Hidden("app_users_manager[" + @i + "].USER_ID", Model[i].USER_ID)
                <td>
                    @Html.DisplayFor(modelItem => Model[i].APP_MANAGERS.MANAGER_DESCRIPTION)
                </td>
                <td>
                    @Html.DropDownList("app_users_manager[" + @i + "].USER_ID_MANAGER", ViewBag.USER_ID_MANAGER as List<SelectListItem>, "-Select manager-")
                </td>
            </tr>
        }
    </table>

    @Html.ValidationSummary(false)
    <p>
        <input type="submit" value="Save" />
    </p>
}

我可以使用以下方法做到這一點:

@Html.DropDownList(Model[i].USER_ID_MANAGER, ViewBag.USER_ID_MANAGER as List<SelectListItem>, "-Select manager-", new { @Id = "Test"})

但后來我沒有在控制器中獲得更新的值。 否則,我將無法在視圖上獲得價值:

@Html.DropDownList("USER_ID_MANAGER", ViewBag.USER_ID_MANAGER as List<SelectListItem>, "-Select manager-")

有人可以建議那里有什么問題嗎? 很感謝任何形式的幫助!!

感謝您的寶貴意見,斯蒂芬。 我能夠查看並保留更改后的值。 為了將來向任何人提及類似問題,以下是我的解決方法:

public ActionResult Edit(string user_id)
{
ViewBag.USER_ID_MANAGER = new SelectList(db.APP_USERS, "USER_ID", "USER_ID");
            return View(app_users_manager);
}

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Edit(List<APP_USERS_MANAGER> app_users_manager)
{
return View(app_users_manager);
}

這是我的看法:

@Html.DropDownList("app_users_manager[" + @i + "].USER_ID_MANAGER", new SelectList(ViewBag.USER_ID_MANAGER, "Value", "Text", Model[i].USER_ID_MANAGER), "-Select manager-")

暫無
暫無

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

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