使用PartialViews实现UpdatePanel功能 - 需要帮助入门

时间:2012-07-12 18:29:14

标签: asp.net-mvc razor updatepanel

我对MVC很新,需要帮助理解类似于UpdatePanel功能的部分更新实现。

我在页面的LHS上有一些过滤器,在RHS上有一个表(DataTable)。当用户选择过滤器时,我希望表数据根据过滤器而改变。我正在尝试仅加载包含表的PartialView,而不是加载整个页面。但是,我在开始时遇到了困难。

问题 -

使用Html.BeginForm可以实现这样的事情吗? Like shown here. 我无法真正找到有关Html.BeginForm的详细文档,MSDN网站解释了技术细节,但我真的不确定是否有必要始终使用它,以及绝对需要的地方。

我尝试了什么 -

我尝试过使用jQuery.load() shown here.但是,当我尝试加载这样的局部视图时,我遇到了400 Bad Request错误。

我在这里所做的只是 -

在视图中 -

我试过这个 -

$('#contentDiv').load('<%= @Url.Action("Index", "Grid") %>');  

和 -

$.post('<%= @Url.Action("Index", "Grid")%>', function (data) {
        $('#contentDiv').html(data);   }

我也尝试过使用#get,但它也不起作用。

在控制器中 -

    public ActionResult Index()
    {
        List<Models.GridData> tableData= new List<GridData>();
        try
        {                
            tableData= hvUtil.FillGrid();
            return PartialView(notes);               
        }

有人可以建议如何让事情有效吗?

1 个答案:

答案 0 :(得分:2)

看起来你正在使用Razor和ASCX语法的奇怪组合。你看过生成的javascript了吗?

这可能会让你更接近你想要的东西:

$('#contentDiv').load('@Url.Action("Index", "Grid")');