[英]MVC4 how to pass value to Html.Partial in javascript?
在视图的“脚本”部分中,在MVC4的单击下拉菜单中单击javascript函数。 函数对控制器动作进行ajax调用,返回Json数据。 我需要将一些返回的值传递给Html.Partial()来呈现。 如何做到这一点? 对于Html.Partial(),这些值“在当前上下文中不存在”。
视图:MyView
<div>@Html.DropDownList("listId", list, new { onChange=showText() }</div>
<div id="divMyText" ></div>
@section scripts{
function showText()
{
var val1 = 1;
$.ajax({
type:"POST",
url: "/Home/MyAction",
data: {parm1:val1},
success: function (result){
renderMyView(result.id);
}
});
}
function renderMyView(id)
{
$('#divMyText').html('@Html.Partial("MyView", new MyViewModel (id))'); // id here is Not 'visible' for MyViewModel.
}
}
控制器动作:
public ActionResult MyAction(int parm1)
{
.......
return Json (myObject);
}
public ActionResult MyView (int id)
{
MyViewModel model = new MyViewModel(id);
return View(model);
}
如何在Html.Partial语句中将id值传递给MyViewModel? 谢谢
您需要在控制器端将它们组合在一起。 将我的动作更改为
public PartialViewResult MyAction (int id)
{
MyViewModel model = new MyViewModel(id);
return PartialView("PartialName", model);
}
然后在脚本中而不是调用渲染视图函数
$('#divMyText').html(result);
这将使用绑定的模型获取返回的局部视图,并将其放入div
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.