我对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);
}
有人可以建议如何让事情有效吗?
答案 0 :(得分:2)
看起来你正在使用Razor和ASCX语法的奇怪组合。你看过生成的javascript了吗?
这可能会让你更接近你想要的东西:
$('#contentDiv').load('@Url.Action("Index", "Grid")');