代码之家  ›  专栏  ›  技术社区  ›  Geo

ajaxBeginForm根据提交值更改AjaxOptions

  •  0
  • Geo  · 技术社区  · 8 年前

    如何根据按下按钮的提交值更改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();
    }
    

    当我通过按下任何按钮进行post时,我需要在返回新的PartialView之前更改AjaxOptions值。

    1 回复  |  直到 8 年前
        1
  •  0
  •   Geo    8 年前

    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
        }
    }
    

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

    推荐文章