该项目使用MVC3和Razor.我们有一个繁忙的页面,数据来自大型机数据库通过WCF服务,所以我们想限制一次加载的内容.基本数据在页面加载时加载,但随后将有一些div用于其他数据.我们使用@ Html.Partial(pagename)来渲染div中的部分页面.ViewModel的这一部分最初将为空,因此不会显示任何数据.
我们希望用户单击以转到Controller方法,调用另一个服务,并使用更多数据填充ViewModel的一部分.然后使用数据刷新页面的此部分.
如何在用户单击时刷新HTML.Partial(pagename)?我已尝试对相应的URL进行Ajax调用,但它不刷新显示.
编辑:这是我的代码,尝试使用Darin Dimitrov的建议.
我的ViewModel:
namespace Project.ViewModel
{
public class AllData
{
public string Id { get; set; }
public BasicData Basics { get; set; }
public ContactInfo ContactPoints { get; set; } //mainframe data
}
}
Run Code Online (Sandbox Code Playgroud)
主页面:
@model Project.ViewModel.AllData
<script type="text/javascript">
$(function () {
$('#loadFromMainFrame').click(function (e) {
var url = $(this).data(url);
$('#MainframeContents').load(url);
});
});
</script>
<div id="basics">
<div>
@Html.DisplayFor(model => model.Basics.FirstName)
</div>
<div>
@Html.DisplayFor(model => model.Basics.LastName)
</div>
</div>
<button id="loadFromMainFrame" data-url="@Url.Action("GetFromMainFrame")">Load from mainframe</button>
<div id="MainframeContents">
<p>Contact Info …Run Code Online (Sandbox Code Playgroud)