ASP.NET MVC: 如何将XDocument传递给jQuery?

3

有人能帮忙吗?我有一个Xdocument,它打开磁盘上的XML文件并将其返回到asp.net mvc视图中... 一切都正常工作。

问题是我需要使用jquery操纵数据,如何将这个数据从asp.net mvc传递到jquery?

这是我的代码:

 XDocument xdoc = XDocument.Load(Server.MapPath("~/content/xml/items.xml"));
 var test = from f in xdoc.Descendants("categoria") select f;

 return view(test);

基本上,XML文件是一个项目列表,当用户点击一个类别时,我在右列显示某些内容,当有人点击右列的另一个类别时,该项将被新数据替换。我用jQuery / Javascript编写了代码来完成这个过程...
所有这些数据都可以在我的XML xdocument中找到... 当然,在单击事件中,我可以向控制器发送POST请求并返回新数据.... 但是我希望能够在不调用服务器的情况下完成此操作
我认为基本上我需要将我在asp.net mvc中拥有的XML文件存储到Javascript变量中,以便我可以使用jQuery对其进行操作。
非常感谢任何帮助
2个回答

2
将您的控制器方法的最后一行改为:
return Json(test);

显然,如果你仍需要原始的控制器方法,那么请创建一个新的方法,该方法返回JsonResult供您的jQuery客户端使用。

1
我建议您从控制器返回JSON,如@grenade所建议的,然后在单独的HTML页面中加载此数据,在其中使用JavaScript和jQuery显示和操作此数据。
当页面加载完成时,以下带有MVC辅助方法的jQuery示例将加载数据:
$(document).ready(function() {
    $.getJSON('<%= Url.Action("JSonActionMethod") %>'), function(data) {
         // Do stuff with loaded JSON data stored in variable 'data'
    });
});

您需要确保 Url.Action() 指向创建 JSON 结果页面的操作方法。

希望这能为您指明正确的方向并有意义。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接