【问题标题】:Ajax.BeginForm change AjaxOptions depending on submit valueAjax.BeginForm 根据提交值更改 AjaxOptions
【发布时间】:2017-07-10 15:15:41
【问题描述】:

如何根据按下按钮的提交值改变AjaxOptions的值。

在视图中:

@using (Ajax.BeginForm("function_name", "Controller",
new AjaxOptions
{
    HttpMethod = "POST",
    InsertionMode = InsertionMode.Replace,
    UpdateTargetId = "resultsLoad",
    OnBegin = "function_onBegin",
    OnFailure = "function_onFailure",
    OnSuccess = "function_onSuccess",
    OnComplete = "function_onComplete"
})) {
<button type="submit" id="btn_1" value="submit1" name="submit"></button>
<button type="submit" id="btn_2" value="submit2" name="submit"></button>
}

在控制器中:

[HttpPost]
public ActionResult function_name(IndexViewModel model, string submit)
{ 
    enter code...
    return PartialView();
}

当我按任意按钮发帖时,我需要在返回新的 PartialView 之前更改 AjaxOptions 值。

【问题讨论】:

    标签: asp.net-mvc-5 asp.net-ajax ajax.beginform unobtrusive-ajax


    【解决方案1】:

    ajax on begin 函数包含第二个参数(未记录)“request”,即具有表单请求信息的对象。

    function function_onBegin(xhr, request) {
        //console.log(request);
        //request.data = submited form data as json string
        var requestData = request.data;    
    
        if (requestData.indexOf('anyCondition') >= 0) {
            //do something        
        } else {
            // do something else
        }
    }
    

    访问请求数据允许实现一些条件来完成所需的行为。

    【讨论】:

      猜你喜欢
      • 2015-01-01
      • 1970-01-01
      • 2018-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-09
      • 1970-01-01
      • 2013-01-25
      相关资源
      最近更新 更多