mvc 5 dropdownlist多个查找值

本文关键字:查找 dropdownlist mvc | 更新日期: 2023-09-27 18:20:41

所以我有一个页面,我可以在其中输入员工详细信息,并选择一个员工表单DropdownList向其报告。我的表Employees可以有EmpGuid、EmpName、EmpParentGuid、Department、Age等字段。所以基本上EmpParentGuid是EmpGuid向其报告的主管。

以下是下拉列表的代码

控制器代码

ViewBag.EmpParentGuid = new SelectList(db.Employees.ToList(), "EmpGuid ", "EmpName", Employees.EmpParentGuid );

查看代码

 @Html.DropDownList("EmpParentGuid", null, htmlAttributes: new { @class = "form-control" })

因此,基于所选的EmpParentGuid,我可以得到它的"EmpName"值。现在,我如何获得其他字段值,并可能显示在下拉列表旁边的标签中。还有我怎么能在帖子中得到同样的东西。因为我想根据所选的EmpParentGuid更新一些隐藏字段。谢谢

谢谢。

mvc 5 dropdownlist多个查找值

HTML页面:

@Html.ListBox("EmpParentGuid", null, htmlAttributes: new { id = "ElementID", @class = "form-control" }) 

添加更改事件的脚本:

$(document).ready(function () {
    $("#ElementID").change(function () {
        var Id = $("#ElementID").val();
        $("#IdOfPartialViewHolder").load('@(Url.Action("ActionName", "Controller", null, Request.Url.Scheme))?EmpParentGuid=' + Id);
    });
});

HTML部分视图:

<div id="IdOfPartialViewHolder" class="h6 ">
    @Html.Partial("_YourPartialView", Model)
</div>

局部视图:

@model YourProject.Models.EmployeesViewModel   
<div>    
   Text1: &nbsp @Html.DisplayFor(model => model.YourModelColumn1)    <br />
   Text2: &nbsp @Html.DisplayFor(model => model.YourModelColumn2) 
                                            ... YourModelColumn5        
</div> 

C#代码如何更新部分视图:

public async Task<ActionResult> ActionName(string EmpParentGuid)
    {
        Guid IDtemp = new Guid(EmpParentGuid);
        EmployeesViewModel model = new EmployeesViewModel();
        Employees E = new Employees();
        E = await db.Employees .FindAsync(IDtemp);
        model.YourModelColumn1 = E.YourModelColumn1;
        model.YourModelColumn2 = E.YourModelColumn2;
        return PartialView("_YourPartialView", model);
    }

也许存在更好的解决方案,但这对我有效…

如果您将提交HTML FORM

@using (Html.BeginForm(null, null, FormMethod.Post, new { enctype = "multipart/form-data" }))
{
    YOUR HTML
}