Подтвердить что ты не робот

С# Как установить свойство autopostback при использовании asp.net mvc?

Я использую 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();
}

Что мне нужно сделать, чтобы использовать функции автозапуска?

4b9b3361

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

postback общедоступный индекс ActionResult (форма формы FormsCollection)

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

Ответ 4

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

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>

Надеюсь, это поможет. Я бы хотел получить более полные коды, пожалуйста, напишите мне по адресу [email protected]