C # Как установить свойство autopostback при использовании asp.net mvc? - PullRequest
20 голосов
/ 08 апреля 2009

Я использую asp.net MVC Framework. У меня на странице есть 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 ]

37 голосов
/ 08 апреля 2009

Вы можете использовать событие клиента onchange:

<%= Html.DropDownList("qchap", 
       new SelectList( (IEnumerable)ViewData["qchap"], "Id", "Title" ),
       new { onchange = "this.form.submit();" }) %>
0 голосов
/ 09 января 2010

Я решаю, используя этот код.

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

0 голосов
/ 09 апреля 2009

Я тоже считаю, что вы можете настроить обратную передачу в соответствии с FormCollection

Публичный общедоступный индекс ActionResult (FormsCollection myform)

(я не на своем домашнем компьютере, где установлен MVC, поэтому я не могу проверить синтаксис здесь)

0 голосов
/ 08 апреля 2009

Похоже, вспомогательный метод DropDownList не поддерживает это. Возможно, используйте его в форме и настраиваемый атрибут html для отправки формы.

...