我想在具有共享布局的View中显示PartialView,我想从选择值中呈现此部分。
所以,我想知道如何根据select元素中的选定值从Controller触发视图。
以下是代码:
修改的
Administrador.cshtml
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Seleccione Cartera:</td>
<td>
<select id="SeleccionCartera" name="SeleccionCartera">
<option value="">Seleccione Cartera</option>
<option value="0">Activa</option>
<option value="1">Conservadora</option>
<option value="2">Moderada</option>
<option value="3">Nueva</option>
</select>
</td>
<td>
<button name="btnBuscarRegistros" class="btnExportar">Buscar</button>
</td>
</tr>
</table>
<div id="prueba" name="prueba">
//Here is where my partial displays info.
</div>
Functions.js
$("#SeleccionCartera").change(function () {
var val = $("#SeleccionCartera").val();
$("#prueba").load('Admin/SeleccionCartera/?value =' + val);
});
AdminController.cs
public ActionResult SeleccionCartera(int id)
{
string partial = "";
if(id==3)
{
partial = "_NuevaCartera";
}
return PartialView(partial);
}
如果用户选择“Nueva”,我想显示PartialView,如果用户选择“Activa”,我想从Controller中显示另一个PartialView(或相同)。
感谢您的帮助!
PD:对不起我的英语,我是智利人。答案 0 :(得分:2)
有很多方法可以做到这一点,其中之一是:
设置一个空Div,并使用JQuery的加载函数
<div id="MyPartial">
</div>
$("#MyDDL").change(function () {
var val = $("#MyDDL").val(); // this should be an int
$("#MyPartial").load('Home/ViewPartial/?value =' + val);
});
控制器
public ActionResult ViewPartial(int value)
{
// do stuff
return PartialView("_MyPartial",model);
// if you want to have a "dynamic" partial view this should work
//string partialViewName = "name";
// return PartialView(partialViewName,model);
}
答案 1 :(得分:1)
一个想法:
请查看此类似示例:http://www.rajeeshcv.com/post/details/27/asp-net-mvc-conditional-rendering-partial-views