所以我有一个页面,我在其中输入员工详细信息,并选择要向其报告的员工表单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更新几个隐藏字段。感谢。
感谢。
答案 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:   @Html.DisplayFor(model => model.YourModelColumn1) <br />
Text2:   @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
}