我在 View 上有一个下拉列表:
<p>
@Html.DropDownList("Status", new List<SelectListItem>
{
new SelectListItem{ Text = "Show Active", Value = "0" },
new SelectListItem{ Text = "Show Deleted", Value = "1" }},
new
{
onchange = @"
var form = document.forms[0];
form.action='deletedDistricts';
form.submit();"
})
我将其称为 Controller 操作:
[HttpPost]
[ActionName("deletedDistricts")]
public ActionResult deletedDistricts()
{
var d = hc.deletedDistricts.ToList();
return View(d);
}
但是 JavaScript 给出了一个运行时错误:
0x800a138f - JavaScript 运行时错误:无法设置未定义或空引用的属性“action”
我不太擅长 JavaScript。知道为什么这段代码抛出空引用吗?
最佳答案
好吧,我看不到您有一个与下拉列表关联的表单,请确保它包含有:
@using(Html.BeginForm("deletedDistricts", controllerName, FormMethod.Post)) {
// drowpdown here
}
并删除
form.action='deletedDistricts';
conrollerName 应该是 Controller 的字符串名称。
关于javascript - 根据下拉列表项选择更改 mvc 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35805233/