小编DZx*_*DZx的帖子

使用Razor的MVC:如何在点击时刷新部分页面?

该项目使用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)

asp.net-mvc jquery razor

4
推荐指数
1
解决办法
3万
查看次数

标签 统计

asp.net-mvc ×1

jquery ×1

razor ×1