Отправка ввода MVC3

#asp.net-mvc-3 #button #submit

#asp.net-mvc-3 #кнопка #Отправить

Вопрос:

У меня есть индексная страница в MVC3 C#.Net веб-приложение. Индексное представление моей модели предложения содержит кнопку отправки ввода:

  <input  type="submit" name="Create" id="Create" value="Create New Proposal" style="width: 200px" />
  

При нажатии кнопки я хочу вызвать представление создания в модели предложения. Однако я не могу заставить какой-либо метод в контроллере предложения срабатывать при нажатии на кнопку ввода «создать новый». Могу ли я вызвать метод индексной записи? Предложение создать метод get? Есть идеи?

Ответ №1:

Вам нужна ваша кнопка отправки внутри a form и перегружена ActionResult в вашем контроллере, который использует HttpPost атрибут.

Что-то вроде…

Контроллер

 public ActionResult Index()
{
   return View(new MyViewModel());
}

[HttpPost]
public ActionResult Index(MyViewModel model)
{
   // do stuff with model
}
  

Вид

 @using(Html.BeginForm())
{
   <input type="submit" value="Go" />
}
  

Это отобразит форму и опубликует ее в результате индексного действия в вашем контроллере.

Ответ №2:

Попробуйте использовать HTML-помощник, подобный @Html.BeginForm . Смотрите Здесь подсказки: http://msdn.microsoft.com/en-us/library/system.web.mvc.html.formextensions.beginform.aspx

В вашем случае попробуйте это:

 @using (Html.BeginForm("Create", "Proposal")){

......
<input type="submit" value="Submit" />

}
  

Ответ №3:

Вы должны написать метод post, а затем использовать его для отображения вашего представления

 @using (Html.BeginForm("YourAction", "Controller", "FormMethod.Post"))
{   
  //your View code display
}