mvc 5 dropdownlist多个查找值

时间:2015-11-05 22:22:53

标签: c# asp.net-mvc drop-down-menu

所以我有一个页面,我在其中输入员工详细信息,并选择要向其报告的员工表单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”值。现在,我如何获取其他字段值,并可能显示在DropdownList旁边的标签中。 另外我如何在发布期间获得相同的内容。因为我想根据选定的EmpParentGuid更新几个隐藏字段。感谢。

感谢。

1 个答案:

答案 0 :(得分:0)

HTML PAGE:

@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 for Partial VIEW:

<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#CODE如何更新局部视图:

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表格

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