Javascript 基于dropdownlist项选择在mvc中更改视图
我在视图上有一个下拉列表,如下所示:Javascript 基于dropdownlist项选择在mvc中更改视图,javascript,c#,asp.net-mvc,Javascript,C#,Asp.net Mvc,我在视图上有一个下拉列表,如下所示: <p> @Html.DropDownList("Status", new List<SelectListItem> { new SelectListItem{ Text = "Show Active", Value = "0" }, new SelectListItem{ Text = "Show Deleted", Value = "1" }}, new {
<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();"
})
但是JavaScript给出了一个运行时错误,如下所示:
0x800a138f-JavaScript运行时错误:无法设置未定义或空引用的属性“action”
我不太擅长JavaScript。知道这段代码为什么抛出空引用吗 我看不出您会有一个与下拉列表相关联的表单,请确保它用以下内容包装:
@using(Html.BeginForm("deletedDistricts", controllerName, FormMethod.Post)) {
// drowpdown here
}
并删除form.action='deletedstrics'
form.action='deletedDistricts';
conrollerName应该是控制器的字符串名称。我看不出您会有一个与下拉列表关联的表单,请确保它用以下内容包装:
@using(Html.BeginForm("deletedDistricts", controllerName, FormMethod.Post)) {
// drowpdown here
}
并删除form.action='deletedstrics'
form.action='deletedDistricts';
conrollerName应该是控制器的字符串名称。让我们再次阅读您遇到的错误: 0x800a138f-JavaScript运行时错误:无法设置属性“action” 指未定义的或空的引用 好的,现在让我们再次阅读您的代码,看看您试图在哪里设置
操作
属性。看起来就发生在这里:
form.action='deletedDistricts';
好的,看来表单
实例在这个阶段没有定义。因此,您希望看到的下一步显然是这个表单实例来自何处。如果您发现您的这行代码,您不会感到惊讶:
var form = document.forms[0];
很酷,您似乎正在尝试检索DOM中的第一个
元素。但是你有这样的元素吗?您是否曾经使用Html.BeginForm
帮助程序来呈现Html表单?回答这些简单的问题肯定会让你走上正轨。请毫不犹豫地检查您在浏览器中生成的标记。我相信这将帮助您找出丢失的位。让我们再次阅读您收到的错误:
0x800a138f-JavaScript运行时错误:无法设置属性“action”
指未定义的或空的引用
好的,现在让我们再次阅读您的代码,看看您试图在哪里设置操作
属性。看起来就发生在这里:
form.action='deletedDistricts';
好的,看来表单
实例在这个阶段没有定义。因此,您希望看到的下一步显然是这个表单实例来自何处。如果您发现您的这行代码,您不会感到惊讶:
var form = document.forms[0];
很酷,您似乎正在尝试检索DOM中的第一个
元素。但是你有这样的元素吗?您是否曾经使用Html.BeginForm
帮助程序来呈现Html表单?回答这些简单的问题肯定会让你走上正轨。请毫不犹豫地检查您在浏览器中生成的标记。我相信这将帮助您找出缺少的部分。谢谢您的帮助和回复。谢谢您的帮助和回复。