如何从部分视图 FormMethod.Get 返回 JSON 数据

本文关键字:Get 返回 JSON 数据 FormMethod 视图 | 更新日期: 2023-09-27 18:36:33

我有以下代码发布到我的搜索 Json。问题是 url 重定向到 json 搜索并显示原始 json 数据。我想回到我的部分视图中的表。关于如何实现这一目标的任何想法?

<div>
@using (Html.BeginForm("Search", "Home", Formmethod.Get, new {id="search-form"})){
    ...
    <button id="search-btn">Search</button>
}
</div>
<div>
    <table id="search-results">...</table>
</div>

我的家用控制器工作正常,但要确保图片清晰......

public JsonResult Search(/*variables*/)
{
    ...
    return Json(response, JsonRequestBehavior.AllowGet);
}

我被重定向到"搜索/(我所有的变量)

如何从部分视图 FormMethod.Get 返回 JSON 数据

响应数据应放入模型中,将模型传递到分部视图,并从控制器返回分部视图。

public PartialViewResult Search(/*variables*/)
{
    ...
    YourModel model = new YourModel();
    // Populate model
    return PartialView("_YourPartialView", model);
}

如果只想刷新部分视图,则可以通过 ajax 调用控制器操作并在 ajax 回调中调用$('#yourDivContainingThePartialView').html(response)

$.ajax({
  url: urlToYourControllerAction,
  method: 'get', // or 'post', depending on whether your controller action has side effects
  success: function (response) {
      $('#yourDivContainingThePartialView').html(response);
  }
  // other ajax options here if you need them
});