部分视图不显示更新的模型值。始终显示现有值

Partial View not showing updated model values. Always shows existing values

提问人:Muzz 提问时间:1/30/2018 最后编辑:Muzz 更新时间:1/30/2018 访问量:1170

问:

实际上,每当我进行搜索时,我都会尝试更新部分视图内容。所以我使用 ajax 调用来实现这一点。因此,从控制器到部分视图模型的值是正确的(新数据),但它未绑定到视图(显示现有数据)。

主视图

     <div class="tab-pane active" id="partialviewpage">
          @{
             Html.RenderPartial("_Details", Model);
           }
      </div>

局部视图 (_Details)

   foreach (var item in Model.AllAds)
    {
       //div contents
    }

阿贾克斯看涨

   var text = 'test';
   $.ajax({
        url: '@Url.Action("Subcategory", "Category")',
        type: 'GET',
        dataType: 'JSON',
        data: { item: text },
        success: function (partialView) {
            $('#partialviewpage').html(partialView);
        },
        error: function (xhr, ajaxOptions, thrownError) {

        }
    });

类别控制器

    public ActionResult Subcategory(string item)
    {
      //Logic calling Api content goes here

      var SearchresponseData = responseMessage.Content.ReadAsStringAsync().Result;
      JavaScriptSerializer JssSearch = new JavaScriptSerializer();
      List<Result> Jsonresult =       (List<Result>)JssSearch.Deserialize(SearchresponseData, typeof(List<Result>));
      var Model= new ModelName();
        {
            Model.AllAds = new List<Result>();
            Model.AllAds = Jsonresult;
        }
      return PartialView("_Details", Model);
    }

那么,我的代码出了什么问题,我该如何修改代码以获取新的模型值。任何帮助都表示赞赏。提前致谢。

ASP.NET-MVC-AJAX

评论

0赞 1/30/2018
我假设是一个错别字,它真的(小写)?success: function (PartialView) {partialViewp
0赞 programtreasures 1/30/2018
您是否在控制台中检查是否有任何 JS 错误,您是否在网络选项卡上检查数据是否返回正确,您是否检查数据是否返回正确,而不是任何绑定问题(如选择器等)。
0赞 1/30/2018
而且控制器方法中的代码甚至无法编译!
0赞 Muzz 1/30/2018
网络选项卡@programtreasures中没有错误
0赞 programtreasures 1/30/2018
@Muzz是否在“网络”选项卡中检查了响应数据是否已更新?

答:

0赞 programtreasures 1/30/2018 #1

我观察到您成功使用了错误的变量来替换html,

我有替换PartialViewpartialView

 var text = 'test';
  $.ajax({
    url: '@Url.Action("Subcategory", "Category")',
    type: 'GET',
    dataType: 'JSON',
    data: { item: text },
    success: function (partialView) {
        $('#partialviewpage').html(partialView);
    },
    error: function (xhr, ajaxOptions, thrownError) {

    }
});

评论

0赞 1/30/2018
如果这是问题所在,那么这是一个简单的错别字,你应该投票关闭,而不是添加 ab 答案。
0赞 programtreasures 1/30/2018
@StephenMuecke只是通过修改后的代码提供 OP 的路径
0赞 Muzz 1/30/2018
在我更改之后,也没有得到更新的值。@programtreasures