#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
}