获取按钮点击ID在“onsuccess”;表单提交后的功能

Get button clicked ID in "OnSuccess" function after form submit

本文关键字:表单提交 功能 onsuccess 按钮 ID 获取      更新时间:2023-09-26

我在mvc3中使用Ajax表单。

下面是代码

<% using (Ajax.BeginForm("Method", "Conroller", new AjaxOptions
{
   UpdateTargetId = "PopupBody",
   HttpMethod = "post",
   OnSuccess = "OnSuccessContactInfoSave"
}, new { @id = "frmContactInfo" }))
{ %>

function OnSuccessContactInfoSave( data, textStatus ) {
alert( 'completed with success.' );
 }

现在,我在一个页面上有两个按钮,一个是提交按钮,另一个是正常按钮。现在,我想知道点击按钮在Onsuccess函数

我怎么能得到它在"OnSuccessContactInfoSave"功能?

Thanks in Advance


编辑:

This is My View

<% using (Ajax.BeginForm("SaveContactInfo", "ManageUser", new AjaxOptions
{
   UpdateTargetId = "PopupBody",
   HttpMethod = "Post"
}))
{ %> <div class="ciMain">
         <input type="submit" id="btnSaveAndClose" name="btn"  value="Save"   />
        <input type="submit" value="Save and continue to next step" name="btn" />
        <input type="button" value="Cancel"  />
      </div>
  <% } %>

This is Controller

    [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult SaveContactInfo(FormCollection userViewModel, ContactInfoViewModel model, string btn)
    {
        //string test = Request["btn"].ToString();
        try
        {
            return View("ContactInfo", model);
        }
        catch (Exception)
        {
            return View("ContactInfo", model);
        }
    }

首先,您需要在模型类中创建一个名为SubmissionType的属性ContactInfoViewModel如下:

public class ContactInfoViewModel
{
    public string SubmissionType { get; set; }
    //Your rest of properties
}

现在在视图中将这个属性名传递到提交按钮中像这样:

    <input type="submit" name="SubmissionType" id="btnSumit" value="Submit"/>
    <input type="submit" name="SubmissionType" id="btnOther" value="Other"/>

记住,这些按钮必须在表单标签下,也不要忘记将你的模型与视图绑定,就像这样:

    @model ClassNamespace.ContactInfoViewModel

现在你需要重新构造你的动作方法,像这样:

     [AcceptVerbs(HttpVerbs.Post)]
    public ActionResult SaveContactInfo(ContactInfoViewModel model)
    {          
        if (model.SubmissionType == "Submit")
        {
        }
        else
        {
        }
        try
        {
            return View("ContactInfo", model);
        }
        catch (Exception)
        {
            return View("ContactInfo", model);
        }
    } 
现在来看看ajax表单标记,您还必须在这里传递Model,以便在表单提交时获得模型的值。这样做:
@using (Ajax.BeginForm("SaveContactInfo", "ManageUser",Model, new AjaxOptions
{
UpdateTargetId = "PopupBody",
HttpMethod = "Post"
}))

正如你在上面的代码中看到的,我也传递了模型作为对象routeValues