有一个 Html.BeginForm 包含 Ajax.BeginForm 并且在 Ajax.BeginForm 外面有一个
提交按钮。但是这个提交按钮不起作用。如果我在 Ajax.BeginForm 之前选择提交按钮
它工作正常。 Ajax.BeginForm 内的提交按钮也工作正常。我的问题是
如果我在 Ajax.BeginForm 之后使用提交按钮,为什么提交按钮不起作用;
提前致谢。
@using (Html.BeginForm("AssignTestGet", "Test"))
{
using (Ajax.BeginForm("TestPreviewTemplate", "Test", new AjaxOptions { HttpMethod = "POST", InsertionMode = InsertionMode.Replace, UpdateTargetId = "template" }))
{
<button type="submit" id="questionId" name="questionId" value="@ViewBag.id" class="submit" style="margin-left:45px;margin-top:-15px;"></button>
<input type="hidden" id="templateId"value="@ViewBag.id" name="templateId" class="tr"/>
}
<div id="template">
@Html.Partial("_testTemplate", Model)
</div>
<input type="submit" value="submit" />
}
最佳答案
HTML 不支持一种形式之间的另一种形式。它违反了 HTML 规则。因此,当解析时,它只解析外部表单而不是内部表单,因此外部提交按钮不起作用。
您可以使用两种形式不同地给出不同的 Id。
@using (Html.BeginForm("AssignTestGet", "Home", FormMethod.Post, new { @id ="OuterForm" }))
{
<div id="template">
</div>
<input type="submit" value="submit" id="mymyb" />
}
@using (Ajax.BeginForm("TestPreviewTemplate", "Home", null, new AjaxOptions { HttpMethod = "POST", OnBegin="MyMy()", UpdateTargetId = "template" }, new { @id="innerForm"}))
{
<input type="submit" value="submit Inner" id="mymyba" />
}
关于asp.net-mvc-3 - mvc3 提交按钮不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15873306/