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

MVC Html.BeginForm с использованием областей

Я использую области MVC и в представлении, что в области под названием "Тест" я хотел бы иметь форму, которая публикует следующий метод:

area: Security
controller: AccountController
method: logon

Как я могу это сделать с Html.BeginForm? Это можно сделать?

4b9b3361

Ответ 1

Попробуйте следующее:

Html.BeginForm("logon", "Account", new {area="Security"})

Ответ 2

Для тех из вас, кто хочет знать, как заставить его работать с шаблоном mvc4 по умолчанию

@using (Html.BeginForm("LogOff", "Account", new { area = ""}, FormMethod.Post, new { id = "logoutForm" }))

Ответ 3

Попробуйте указать область, контроллер, действие как RouteValues ​​

@using (Html.BeginForm( new { area = "security", controller = "account", action = "logon" } ))
{
   ...
}

Ответ 4

Используйте это для области с атрибутами HTML

@using (Html.BeginForm(
      "Course", 
      "Assign", 
      new { area = "School" }, 
      FormMethod.Get, 
      new { @class = "form_section", id = "form_course" })) 
{

   ...

}

Ответ 5

@using (Html.BeginForm("", "", FormMethod.Post, new { id = "logoutForm", action = "/Account/LogOff" }))
                {@Html.AntiForgeryToken()
                    <a class="signout" href="javascript:document.getElementById('logoutForm').submit()">logout</a>
                }

Ответ 6

Для Ajax BeginForm мы можем использовать это

Ajax.BeginForm("IndexSearch", "Upload", new { area = "CapacityPlan" }, new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = updateTarget }, new { id = "search-form", role = "search" })