C#如何在使用asp.net mvc时设置autopostback属性?

时间:2009-04-08 16:30:52

标签: c# asp.net-mvc combobox autopostback

我正在使用asp.net MVC框架。在我的页面上我有一个dropdwonbox,当点击一个选项时,我想转到另一个页面。但我无法找到如何/在何处将autopostback属性设置为true。这是我正在使用的代码:

.aspx的:

<%= Html.DropDownList("qchap", new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" )) %>

控制器:

public ActionResult Index(int id)
{
    Chapter c =  new Chapter();
    ViewData["qchap"] = c.GetAllChaptersByManual(id);

    return View();
}

使用自动回复功能需要做什么?

4 个答案:

答案 0 :(得分:37)

您可以使用onchange客户端事件:

<%= Html.DropDownList("qchap", 
       new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" ),
       new { onchange = "this.form.submit();" }) %>

答案 1 :(得分:0)

似乎DropDownList帮助器方法不支持此功能。 也许在表单和自定义自定义html属性中使用它来提交表单。

答案 2 :(得分:0)

我也相信您可能想要将回发调整为formsCollection

回发公共ActionResult索引(FormsCollection myform)

(我不在安装MVC的家用电脑上,所以我无法验证语法)

答案 3 :(得分:0)

我使用此代码解决。

Function Index(ByVal collectionField As FormCollection) As ActionResult

        Dim industryCategoryID As Long = collectionField.Item("ddlIndustry")
        If industryCategoryID = 0 Then
            Me.ViewData("IndustryList") = GlobalController.GetIndustryList
            Return View(_service.ListCompanies())
        Else
            Me.ViewData("IndustryList") = GlobalController.GetIndustryList
            Return View(_service.ListCompanies(industryCategoryID))
        End If

End Function

这是针对ActionResult函数的

然后是视图

 <p>
     <% Using Html.BeginForm()%>
        <%=Html.DropDownList("ddlIndustry", New SelectList(CType(ViewData("IndustryList"), IEnumerable), "ID", "Name"), "--Choose industry--", New With {.onchange = "this.form.submit()"})%>
     <% End Using %>  

    </p>

我希望它有所帮助。如果您想要更完整的代码,请发送电子邮件给我boylevantz@gmail.com