我想创建一个页面,该页面具有下一个按钮和上一个按钮来切换显示的图像。
为此,我创建了Ajax.BeginForm
一个图像和两个提交按钮并将其插入其中。
我可以(我应该)在一个里面有多个提交按钮Ajax.BeginForm
吗?
控制器将如何分别处理每个提交?
我想创建一个页面,该页面具有下一个按钮和上一个按钮来切换显示的图像。
为此,我创建了Ajax.BeginForm
一个图像和两个提交按钮并将其插入其中。
我可以(我应该)在一个里面有多个提交按钮Ajax.BeginForm
吗?
控制器将如何分别处理每个提交?
尝试这个,
看法
@model TwoModelInSinglePageModel.RegisterModel
@using (Ajax.BeginForm("DYmanicControllerPage", "Test", FormMethod.Post,null, new { id = "frmSignUp" }))
{
<div>
<input type="hidden" id="" name="hidden2" id="hdasd" />
@Html.HiddenFor(m => m.hidden1)
@Html.LabelFor(m => m.Name)
@Html.TextBoxFor(m => m.Name)
@Html.ValidationMessageFor(m => m.Name)
</div>
<br />
<div>
@Html.LabelFor(m => m.Address)
@Html.TextBoxFor(m => m.Address)
@Html.ValidationMessageFor(m => m.Address)
</div>
<br />
<div>
@Html.LabelFor(m => m.PhoneNo)
@Html.TextBoxFor(m => m.PhoneNo)
@Html.ValidationMessageFor(m => m.PhoneNo)
</div>
<input type="submit" value="Save" id="btnSave" name="ButtonType"/>
<input type="submit" value="Next" id="btnNext" name="ButtonType" />
}
控制器
[HttpPost]
public ActionResult DYmanicControllerPage(RegisterModel model, string ButtonType)
{
if(ButtonType == "Next")
{
// Do Next Here
}
if (ButtonType == "Save")
{
//Do save here
}
return JavaScript("REturn anything()");
}
我建议您有两个按钮,然后根据单击的按钮,您可以在表单上设置操作:
剃刀
$(function (){
$("#btn-prev").click(function() {
$("#form").attr
(
"action",
"@Url.Action("Action", "Controller", new {area="Area" })",
).submit();
});
$("#btn-next").click(function() {
$("#form").attr
(
"action",
"@Url.Action("Action", "Controller", new {area="Area" })",
).submit();
});
});
我在这里使用 jQuery 来执行此操作,但我认为您可以理解。
我有相同的要求/问题并在这里尝试了两种解决方案,它们都对我有用。我喜欢在单击时通过 jquery 设置操作的想法,这样我就可以将我的操作分开,以便其他视图可以使用它们。
但是,我发现当我在调试时执行此操作时,它会发布两次并且同时触发 OnSuccess 和OnFailure。它只在调试时发生。挑选时请记住这一点。