看法
@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,我将得到嵌套表单。我可以在局部视图中移动表单右括号以避免嵌套表单并且页面正确呈现,但这会使 Visual Studio 感到不安,因为它希望在视图中看到右括号。这有关系吗?
编辑:
根据克里斯的评论,以下修改是更好的方法吗?即一个带有两个提交按钮的表单,它们在同一个操作方法中调用不同的代码?
部分视图
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
};
}