Javascript 在ASP.NET MVC3中将多个视图组合在一起
我现在已经在ASP.NET MVC3中设置了一个站点,但是所有内容的布局都针对移动设备进行了优化 现在,我想将一些现有视图组合在一起,以利用桌面浏览器或平板电脑中的额外屏幕空间 我现在有两个视图,一个显示链接列表,另一个显示每个链接生成的一些内容;这两个视图都由单独的控制器处理。下面是列表视图(简化)。它使用一个布局页面,因此这是在布局中调用Javascript 在ASP.NET MVC3中将多个视图组合在一起,javascript,jquery,asp.net-mvc-3,razor,Javascript,Jquery,Asp.net Mvc 3,Razor,我现在已经在ASP.NET MVC3中设置了一个站点,但是所有内容的布局都针对移动设备进行了优化 现在,我想将一些现有视图组合在一起,以利用桌面浏览器或平板电脑中的额外屏幕空间 我现在有两个视图,一个显示链接列表,另一个显示每个链接生成的一些内容;这两个视图都由单独的控制器处理。下面是列表视图(简化)。它使用一个布局页面,因此这是在布局中调用@RenderBody()时显示的内容(我的第二个视图也是这样工作的,使用相同的布局文件) 但是,我在ajax成功处理程序中得到的数据包含完整的html页面
@RenderBody()
时显示的内容(我的第二个视图也是这样工作的,使用相同的布局文件)
但是,我在ajax成功处理程序中得到的数据包含完整的html页面
<!DOCTYPE html>
<html>
<head>...</head>
<body>...</body>
</html>
...
...
…当我想要的只是版面的
@RenderBody()
调用中生成的内容时。我尝试将控制器方法更改为返回PartialView(“Index”)代码>,但它给出了相同的结果。有没有一种方法可以让我只返回视图的那一部分?或者是否有更干净、更“MVC”的方法来实现这一点?最好的选择是从单独的控制器操作返回部分视图。因此,为了让它发挥作用,我会做一些改变:
我仍然需要做一些测试,但这似乎有效。谢谢
$(document).on("click", "#commandcenterlist a", function (e) {
$.mobile.showPageLoadingMsg();
$.ajax({
url: this.href,
success: function (data) {
$.mobile.hidePageLoadingMsg();
$("#desktopContentPane").html(data);
}
});
return false;
});
<!DOCTYPE html>
<html>
<head>...</head>
<body>...</body>
</html>