【发布时间】:2014-02-16 12:51:39
【问题描述】:
我的事件表单中有两个按钮,如下所示,
@using (Ajax.BeginForm("Create", "Events", new AjaxOptions
{
InsertionMode = InsertionMode.Replace,
HttpMethod = "POST",
OnSuccess = "updateSuccess"
}, new { @id = "updateEventForm" }))
{
<div class="modal-body form-horizontal">
<div class="form-group">
<label class="col-sm-2 control-label">@Html.LabelFor(model => model.Code)</label>
<div class="col-sm-10">
@if (Model.EventID <= 0)
{
@Html.TextBoxFor(model => model.Code, new { id = "txtCode", Class = "form-control", placeholder = "Code", Value = "E_" + new Random().Next().ToString() })
}
else
{
@Html.TextBoxFor(model => model.Code, new { id = "txtCode", Class = "form-control", placeholder = "Code" })
}
@Html.ValidationMessageFor(model => model.Code)
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-2 col-sm-10">
<input type="submit" value="Save" class="btn btn-primary" name="action:Save" id="btnSave" />
<input type="submit" value="Save & Next" class="btn btn-primary" name="action:SavenNext" id="btnSaveNext" />
</div>
</div>
</div>
<!-- // Modal body END -->
}
在我的控制器中,点击“保存”时,我有以下操作,
[HttpPost]
[MultipleButton(Name = "action", Argument = "Save")]
public ActionResult SaveClick(Events objEvents)
{
int Result = CreateEvent(objEvents);
if (Result == 0)
return null;
else
return RedirectToAction("Index");
}
在点击“保存并下一步”的同时,将调用以下操作,
[HttpPost]
[MultipleButton(Name = "action", Argument = "SavenNext")]
public ActionResult SavenNextClick(Events objEvents)
{
int Result = CreateEvent(objEvents);
if (Result == 0)
return null;
else
return Json(JsonResponseFactory.SuccessResponse(objEvents.SubscriptionID), JsonRequestBehavior.AllowGet);
}
我对我的模型进行了远程验证,如下所示,
[Remote("codeExist", "Events", AdditionalFields = "EventID", HttpMethod = "POST", ErrorMessage = "Code must be unique!")]
public string Code { get; set; }
如果我将评论远程验证行,那么一切正常,但如果我将保持验证,然后调用 Create() 操作(当我需要打开表单时必须调用它),
public ActionResult Create(int SubscriptionID)
{
FillEventTypeDropDown();
objEvents.SubscriptionID = SubscriptionID;
return PartialView(objEvents);
}
但我需要调用 SaveClick 和 SavenNextClick,请帮助使用多个提交按钮进行远程验证。
【问题讨论】:
-
你可以在这里看到你的答案:[stackoverflow.com/questions/442704/… [1]:stackoverflow.com/questions/442704/…
-
@Mostafa Soghandi,我已经转发了这个链接,我已经根据第一个答案完成了我的代码。但是,它还没有完成。
标签: jquery asp.net-mvc validation asp.net-mvc-4 razor