我在我的mvc应用程序中有一个搜索表单,我在下拉列表中选择我要搜索的部门,以及关于我要搜索的内容的文本输入。
当我在下拉列表中选择一个部门时,我希望将控制器更改为所选值。
让我说我有这些项目我的下拉列表:“客户”,“产品”,“发票”
当我在下拉列表中选择“客户”时,我希望我的Html.BeginFrom看起来像这样:
<% using (Html.BeginForm("Customers", Request.QueryString["Search"], "Search", FormMethod.Get))
{ %>
当我选择“产品”时,我希望“客户”更改为“产品”。
答案 0 :(得分:0)
这通常不是你做事的方式。
如果您需要根据下拉列表的值发布两个不同的事情,您应该处理Controller内部的逻辑调度。
public ActionResult DoSomething(string actionType )
{
if( actionType == "Products" )
DoSomething();
if( actionType == "Customers" )
DoSomethingDifferent();
}
答案 1 :(得分:0)
我同意这不是解决问题的最好方法,但是如果你仍然需要这样做,那么你需要一个简单的jquery语句。
基本上处理表单的onSubmit操作(或下拉列表的onChange - 两者都有效)并根据下拉列表的值更改表单的操作
这样的事情应该有效:
<% using (Html.BeginForm()) { %>
<%=Html.DropDownListFor( x => x.DepartmentList ) %>
<input type='submit' value='submit'/>
<% } %>
<script type="text/javascript">
$(function(){
$('#DepartmentList').change(function(){
$('form').attr('action', $('#DepartmentList option:selected').val() );
});
});
</script>
查看this question的答案以获取更多详情