如何在ASP.NET MVC中提交下拉列表

24
<% using (Html.BeginForm() { %>

  <%=Html.DropDownList("TopItemsList", ViewData["ListData"], new { onchange="[???]" })%>

<% } %>

在上面的例子中,你应该将onchange设置为什么值?或者说,你如何获得正确的表单?

Ajax.BeginFrom有什么区别吗?

2个回答

55

试试这个:

<%=Html.DropDownList("TopItemsList", ViewData["ListData"], new { onchange="this.form.submit();" })%>

每个表单元素都有一个“form”属性,指向包含该元素的表单。

是的,使用“Html.”和“Ajax.”是有区别的。Ajax.表示将使用部分页面更新,而不会重新加载整个页面。


2
只是为了更正陈述, <%=Html.DropDownList("TopItemsList", ViewData["ListData"], new { @onchange="this.form.submit();" })%> 请注意@符号。 - Pieter Germishuys
1
如果您有多个下拉框或文本框,您也需要这样做,我创建了一个CSS类并添加了这个JS。$(".ajaxForcePost").change(function () { this.form.submit(); }); - bulltorious

6
为什么要将html和javascript混合在一起?请删除onchange属性并添加一些JQuery:
$("#TopItemsList").change(function () {

    $("input[type=submit]").click();

});

1
如果您有多个提交输入,则会导致问题。 - ThiefMaster

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接