suj*_*jai 2 c# razor asp.net-mvc-5
ContestM -> 模型的属性
public SelectList EmployeeList { get; set; }
public int EmployeeId { get; set; }
Run Code Online (Sandbox Code Playgroud)
控制器动作
从主视图单击按钮时,此动作正在被击中,并在处理来自 db 的下拉数据后,最后我将值分配给下拉对象并尝试在局部视图中显示该值
public ActionResult AssignContest()
{
try
{
int id = 3;
var res = ContestVM.getTLEmployees(id).ToList();
var eList = new ContestM();
eList.EmployeeList = new SelectList(res, "EmployeeId", "FirstName");
return PartialView("Assign", new ContestM() { EmployeeList = eList.EmployeeList });
}
catch (Exception ex)
{
ViewData["error"] = ex.Message.ToString();
return View("~/Views/Shared/LogoutOrInvalid.cshtml");
}
}
Run Code Online (Sandbox Code Playgroud)
我的 Razor 视图 (assign.cshtml)
@model Performance.Launcher.Models.ContestM
@using (Html.BeginForm("AssignContest", "Contest", FormMethod.Post, new { id = "frmContestAssignContest" })))
{
//var emplistdata= ViewData["employeesList"];
@Html.AntiForgeryToken()
<div class="form-horizontal">
<h4>Contest</h4>
<hr />
@Html.ValidationSummary(true)
@Html.HiddenFor(model => model.ContestId)
<div class="form-group">
@Html.LabelFor(model => model.EmployeeId, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.EmployeeId, Model.EmployeeDet, "Choose...", new { htmlAttributes = new { @class = "form-control col-md-2" } })
//@Html.DropDownList("dropdown1", ViewData["employeesList"])
//@Html.ValidationMessageFor(model => model.EmployeeId)
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
}
Run Code Online (Sandbox Code Playgroud)
无法找到我出错的地方。非常感谢任何帮助。
看起来你)在这一行的末尾有一个额外的:
@using (Html.BeginForm("AssignContest", "Contest", FormMethod.Post, new { id = "frmContestAssignContest" })))
Run Code Online (Sandbox Code Playgroud)
顺便说一句,如果你想知道我是怎么想出来这么快,我只是用我的浏览器的“查找”,并搜索“)”,直到我发现了一个以前没有它有一个匹配的“(”,和它就在 a 之前{,所以我知道就是那个。你应该理解错误消息的含义;很多时候它们非常清晰和有帮助。