首页 > 解决方案 > 使用 Json 防止 MVC JsonResult 重定向到新页面

问题描述

我的视图代码如下

@using (Ajax.BeginForm("SendAmount", "Amount", new AjaxOptions() { HttpMethod = "post", onSuccess="successcallback" }))
{
    @Html.AntiForgeryToken()
    <div class="row">
        <div class="col-md-2 col-12">
            <label>Amount</label>
        </div>
        <div class="col-md-10 col-12">
            @Html.TextBox("txtAmount",null)
        </div>
    </div>
    <div class="row">
        <div class="col-md-3 col-12">
            <input type="submit" value="Submit" />
        </div>
    </div>
}

控制器代码

public JsonResult SendAmount()
{
      //Process flow
      return new JsonResult
      {
        JsonRequestBehavior = JsonRequestBehavior.AllowGet,
        Data = new { result = "success" }
      };
 }

问题是一旦控制器完成调用,它将重定向到带有 json 结果{"result":"success"}的新页面,而不是停留在同一页面。

我知道它可以通过使用 Jquery ajax 调用来实现,但我想知道是否可以使用 MVC 和控制器来实现。

标签: c#asp.net-mvcasp.net-mvc-4

解决方案


推荐阅读