在asp.net MVC 4中动态呈现部分视图
本文关键字:现部 视图 动态 asp net MVC | 更新日期: 2023-09-27 18:03:45
我正忙着调查以下可能性:
我有一个"搜索"视图。我有3个实体,Person, Car和House。我想使用这个Search屏幕根据用户选择的实体类型动态地构建搜索条件。
如果用户想搜索'Person',那么我想动态返回Person特定搜索条件的部分视图,比如Name。或者,如果他们选择了Car,它返回一个不同的局部视图,搜索条件为'引擎大小'等。
如何做到这一点?如果我可以通过对控制器方法的ajax调用返回部分视图(以避免回发),那将是一个巨大的好处。
首先在它们各自的div中渲染你的部分,像这样
<div id="personSearch">
@Html.Partial("PartialView1")
</div>
<div id="carSearch">
@Html.Partial("PartialView1")
</div>
<div id="houseSearch">
@Html.Partial("PartialView1")
</div>
jQuery代码,我们首先隐藏所有这3个过滤器,然后我们可以动态地应该div的根据用户选择的标准
所以像这样
$(function()
{
// Hide all divs
$('#personSearch').hide();
$('#carSearch').hide();
$('#houseSearch').hide();
// This is the ID of a dropdownlist for Person, Car or House selection
$('#UserCriteria').change(function ()
{
var value = $(this).val();
// 1 id the int id for Person
if(value == 1)
{
$('#personSearch').slideDown();
$('#carSearch').slideUp();
$('#houseSearch').slideUp();
}
// 2 id the int id for Car
if(value == 2)
{
$('#personSearch').slideUp();
$('#carSearch').slideDown();
$('#houseSearch').slideUp();
}
// 3 id the int id for House
if(value == 3)
{
$('#personSearch').slideUp();
$('#carSearch').slideUp();
$('#houseSearch').slideDown();
}
}.change();
});
所以我们真正在这里做的,基本上是渲染所有的部分视图到页面上,但是使用。change()在我们的$('#UserCriteria')如果默认值是null什么都不会发生,但是如果默认值是"Person" (id = 1). personSearchdiv将滑下并将显示你的部分视图。
我希望这是你正在寻找的:)