使用mvc3和jQuery根据URL参数加载某个部分视图
本文关键字:加载 个部 视图 参数 URL mvc3 jQuery 根据 使用 | 更新日期: 2023-09-27 18:25:38
我想要一个名为Example的视图,并且能够更新不同的局部视图并将其加载到一个htmldiv标记中。在下面的例子中,如果URL参数是id,我希望页面显示一个详细信息部分,或者如果URL参数为search,则显示一个结果网格。
可选URL参数:…./示例?id=1234…./示例?搜索=ccc
用户将传入上面的其中一个,_details.cshtml或_grid.cshtml将更新下面的详细信息div。
Example.cshtml 中的Div标记
<div id="Details"></div>
我只是纠结于部分视图过滤将在哪里进行,jquery还是在控制器中?
如有任何帮助,我们将不胜感激。
您的控制器应该向视图传递一个视图模型。此视图模型可以加载部分:
public class MyViewModel
{
public string DetailsPartial { get; set; }
}
然后基于id或搜索参数的存在,控制器将填充此属性:
public ActionResult Index(int? id, string search)
{
var model = new MyViewModel
{
DetailsPartial = (id != null) ? "_details" : "_grid"
};
return View(model);
}
在相应的视图中:
@model MyViewModel
...
<div id="Details">
@Html.Partial(Model.DetailsPartial)
</div>