我希望有一个名为Example的视图,并且能够更新并将不同的部分视图加载到一个html div标记中。在下面的情况下,如果URL参数是搜索,我希望页面显示部分详细信息(如果URL参数是id或结果网格)。
可选的网址参数: .... /实施例?ID = 1234 .... /实施例?搜索= CCC
用户将传递上述其中一项,_details.cshtml或_grid.cshtml将更新下面的详细信息div。
Example.cshtml中的Div标记
<div id="Details"></div>
我只是停留在发生部分视图过滤的地方,jquery或控制器中?
任何帮助都将不胜感激。
答案 0 :(得分:2)
您的控制器应将视图模型传递给视图。此视图模型可以部分加载:
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>