Просмотреть
@using (Html.BeginForm())
{
...form elements
@Html.Action("PartialView")
}
Частичный просмотр
if (something) {
<input type="submit" value="Submit" />
} else {
@using (Html.BeginForm())
{
<input type="submit" value="Submit" />
}
Может ли кто-нибудь предложить способ решения вышеуказанной проблемы?
Если оператор PartialView if возвращает false, я получаю вложенные формы. Я могу переместить закрывающую скобку формы в частичном представлении, чтобы избежать вложения форм, и страница отображается правильно, но это расстраивает визуальную студию, поскольку она ожидает увидеть закрывающую скобку в представлении. Это имеет значение?
Редактировать:
Основываясь на комментариях Криса, является ли приведенная ниже модификация лучшим подходом? то есть одна форма с двумя кнопками отправки, которые вызывают разный код в одном и том же методе действия?
Частичный просмотр
if (something) {
<input type="submit" name="btn" value="Submit1" />
} else {
<input type="submit" name="btn" value="Submit2" />
}
Контроллер
[HttpPost]
public ActionResult Index()
{
if (btn == "Submit1") {
...do a thing
} else {
...do another thing
};
}
dont use <form> inside another <form>
- person Murali Murugesan   schedule 21.10.2013Html.BeginForm
? - person Chris Pratt   schedule 21.10.2013PartialView
необходим OP, чтобы иметь форму, если только мы уже не находимся внутри нее. Вот в чем проблема. Нужен индивидуальный помощник. - person Odys   schedule 08.10.2014