我们可以在HTTPPOST上的MVC中标识一个按钮的ID



i有一个视图,该视图具有两个提交按钮(保存&ap&close,save& new)。

 <span>
    <input type="button" value="Save&New" name="Save&New" id="SaveNew" />
    </span>
    <span>
    <input type="button" value="Save&Close" name="Save&Close" id="SaveClose" />
    </span>
    <span>

当我击中这些按钮中的任何一个时,模型数据将转到控制器并击中后行动

    [HttpPost]
    public ActionResult Company(MyProject.Models.Company company)
    {
        return View();
    }

现在,我的公司对象拥有完整的模型数据(例如Company.phoneNumber,Company.State等)。现在,我想确定按钮的ID(保存新的或保存的关闭)用户单击。两个按钮点击引线均为相同的ActionResult(Company),我只想确定从哪个按钮点击该请求。无法使用 @html.actionlink而不是输入类型=提交。需要使用jQuery知道ID。

给您的按钮相同的名称:

<button type="submit" name="btn" value="save_new" id="SaveNew">Save&amp;New</button>
<button type="submit" name="btn" value="save_close" id="SaveClose">Save&amp;Close</button>

然后您的控制器操作可以采用此btn字符串参数。

[HttpPost]
public ActionResult Company(MyProject.Models.Company company, string btn)
{
    if (btn == "save_new")
    {
        // the form was submitted using the Save&New button
    }
    else if (btn == "save_close")
    {
        // the form was submitted using the Save&Close button
    }
    else
    {
        // the form was submitted using javascript or the user simply
        // pressed the Enter key while being inside some of the input fields
    }
    return View();
}

还请注意,我使用了submit按钮(type="submit"),而在您的示例中,您使用了简单的按钮(type="button"),该按钮不允许提交HTML表单。

最新更新