使用Jquery Ajax渲染带有变量数据的Partial View

8 浏览
0 Comments

使用Jquery Ajax渲染带有变量数据的Partial View

我已经阅读了这篇帖子,但我不确定如何使它能够从用户处获取数据。这是我正在使用的ajax jquery。我知道(或至少认为)它不能渲染部分视图。但它一直工作到渲染失败。我认为这可能会有所帮助。\n

 $.ajax(
     {
         type: 'POST',
         contentType: 'application/json; charset=utf-8',
         data: "{'test':" + "'" + dateText + "'}",
         dataType: 'json',
         url: 'Site/Grab/',
         success: function (result) {
         alert('成功');
         },
         error: function (error) {
            alert('失败');
         }
      });

\n这是我的控制器\n

[HttpPost]
    public ActionResult Grab(string test)
    {
        DateTime lineDate= Convert.ToDateTime(test);
        List myInfo= GameCache.Data(lineDate);
       return PartialView("_PartialView", myInfo);
    }

0
0 Comments

问题原因:在控制器代码中调用了一个名为"RenderPartialViewToString()"的方法,但该方法在代码中并未定义或引入。

解决方法:引入或定义一个名为"RenderPartialViewToString()"的方法,使其能够在控制器代码中被调用。

问题的出现是因为在控制器代码中调用了一个名为"RenderPartialViewToString()"的方法,但该方法在代码中并未定义或引入。为了解决这个问题,我们需要引入或定义一个名为"RenderPartialViewToString()"的方法,使其能够在控制器代码中被调用。

我们可以在以下两个网址中找到关于实现"RenderPartialViewToString()"方法的信息:

- c-sharpcorner.com/blogs/7150/…

- craftycodeblog.com/2010/05/15/…

通过访问上述链接,我们可以找到关于如何实现"RenderPartialViewToString()"方法的详细说明。根据这些说明,我们可以在代码中添加该方法的定义,以使其能够被控制器代码调用。

下面是修改后的控制器代码示例:

public ActionResult Grab(string test) {
  DateTime lineDate = Convert.ToDateTime(test);
  List<Info> myInfo = GameCache.Data(lineDate);
  return Json(new { data = this.RenderPartialViewToString("_PartialView", myInfo) });
}

通过引入或定义"RenderPartialViewToString()"方法,我们成功解决了这个问题,并能够在控制器代码中正确地调用该方法。

0
0 Comments

问题的原因是dataType参数的类型设置错误,导致无法正确接收到返回的HTML内容。解决方法是将dataType参数的类型设置为html,并使用JSON.stringify()方法将JSON对象序列化成字符串。另外,如果出现了部分视图本身的HTML/标记问题,可以在调试模式下运行,并在Visual Studio中找到引发问题的标记行。

ASP.NET MVC 3还提供了内置的JSON模型绑定功能,可以创建一个与JSON对象字段匹配的基本POCO对象,并在操作方法中将其作为强类型对象接收。这样可以更方便地处理多个参数的情况。

修复问题的方法是将dataType参数的类型设置为html。

0