我有一个使用T4template的剃须刀页面。这是我的剃须刀代码:
@model ResearchViewModel
<form method="POST" action=">
...
@if (!Model.IsFinalized)
{
using (Html.BeginForm(MVC.Research.ActionNames.Reject, MVC.Research.Name, null, FormMethod.Post, new { @id = "RejectForm" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.Id)
}
using (Html.BeginForm(MVC.Research.ActionNames.Accept, MVC.Research.Name, null, FormMethod.Post, new { @id = "AcceptForm" }))
{
@Html.AntiForgeryToken()
@Html.HiddenFor(model => model.Id)
}
}
...
</form>
问题是,当剃刀呈现此页面时,它无法呈现第一个表格!我试图更改这些表格的顺序,发现总是不呈现第一个表格。我也尝试使用partialview分隔这些形式,但是问题仍然存在。有谁知道发生了什么事?
答案 0 :(得分:2)
您正在尝试嵌套多个表单,但不能这样做。有关说明,请参见此链接:Can you nest html forms?
您需要删除起始HTML
<form method="POST" action=">
因为里面没有其他形式。我想这是由razor Html helper创建的第一个表单的结束标签正在关闭此标签,因此您可以看到由第二个razor Html helper创建的另一种表单