繁体   English   中英

MVC4如何在javascript中将值传递给Html.Partial?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM