在我的asp.net mvc 4应用程序中,我想将参数传递给局部视图,但我们要传递的参数来自javascript代码
以下是代码
<script>
var TestId;
$(document).ready(function () {
// Send an AJAX request
$.getJSON("/api//GetFun?Id="+@ViewBag.Id,
function (data) {
TestId= data.Id
//i am getting the id here which i need to pass in partial view
}
1)...........
});
</script>
html代码:
<div id="tab1" >
2).... @{ Html.RenderAction("MyPartialView", "MyController", new { id = TestId });}
</div>
那么请告诉我如何将测试ID传递给我的部分视图:HTML(2)代码或javascript(1)
答案 0 :(得分:2)
在javascript中使用以下代码并从javascript函数加载视图
var url = '@Url.Action("MyPartialView", "MyController")';
url += '/?Id=' + TestId ;
$("#tab1").load(url);
将以下代码放入您的控制器
public ActionResult MyPartialView( int id )
{
return Partial( "MyPartialView", id );
}
希望这有帮助
答案 1 :(得分:1)
来自this SO问题:
假设您的控制器名为“MyController”,您的局部视图称为“MyPartialView”,您创建一个接受Id参数并返回局部视图的控制器方法:
public ActionResult GetPartialView( int id )
{
return Partial( "MyPartialView", id );
}
然后您可以使用以下jQuery加载部分视图:
$('#tab1').load('/My/GetPartialView?id=' + TestId);
答案 2 :(得分:0)
查看:此时我们将“category”参数传递给控制器,其中“admin”值
@{ Html.RenderAction("Menu", "Nav", new { category = "admin" }); }
控制器:此处我们获取“category”参数的值
public PartialViewResult Menu(string category, string menu = null)
{
IEnumerable<Menu> menus = repository.Menus
.Select(x => x)
.Where(x => (x.MenuCategory == category)
.OrderBy(x => x.MenuSequence).ToList();
return PartialView(menus);
}
希望这会有所帮助。