C# ASP.NET MVC 4部分视图不工作
我写了一个类似这样的部分方法:C# ASP.NET MVC 4部分视图不工作,c#,asp.net,asp.net-mvc-4,partial-views,C#,Asp.net,Asp.net Mvc 4,Partial Views,我写了一个类似这样的部分方法: public ActionResult _StatePartial() { ViewBag.MyData = new string[] { "110", "24500" }; return View(); } 并在\u布局页面中呈现\u StatePartial视图: @Html.Partial("_StatePartial") 这是我的部分视图代码: @{ string[
public ActionResult _StatePartial()
{
ViewBag.MyData = new string[] { "110", "24500" };
return View();
}
并在\u布局
页面中呈现\u StatePartial
视图:
@Html.Partial("_StatePartial")
这是我的部分视图代码:
@{
string[] Data = (string[])ViewBag.MyData;
}
<div id="UserState">
Reputation: @Html.ActionLink(Data[0], "Reputation", "Profile") |
Cash: @Html.ActionLink(Data[1], "Index", "FinancialAccount")
</div>
请注意,这些参数不是我的模型字段,而是通过调用web服务方法来计算的。但我总是在我的问题中设定这些值
我能为此做些什么?
有没有办法将参数传递给局部视图?
谢谢。您的电话:
@Html.Partial("_StatePartial")
将渲染视图,但它不会调用操作。只有在父页面操作中查看所有视图数据时,才会使用此选项。在您的情况下,您需要使用:
@Html.Action("_StatePartial")
public ActionResult StatePartial()
{
ViewBag.MyData = new string[] { "110", "24500" };
return View("_StatePartial");
}
这将首先调用操作以检索和执行视图。另外:
return View();
用于返回具有布局的视图。你需要:
return PartialView();
我建议您使用以下方法:
@Html.Action("_StatePartial")
public ActionResult StatePartial()
{
ViewBag.MyData = new string[] { "110", "24500" };
return View("_StatePartial");
}
但最好使用强类型模型,而不是ViewBag