ASP.NET MVC 4局部视图不起作用

Moj*_*aba 5 c# asp.net partial-views asp.net-mvc-4

我写了一个像这样的局部方法:

public ActionResult _StatePartial()
        {
            ViewBag.MyData = new string[] { "110", "24500" };
            return View();
        }
Run Code Online (Sandbox Code Playgroud)

_StatePartial_Layout页面中渲染视图:

@Html.Partial("_StatePartial")
Run Code Online (Sandbox Code Playgroud)

这是我的部分视图代码:

@{
    string[] Data = (string[])ViewBag.MyData;
}
<div id="UserState">
        Reputation: @Html.ActionLink(Data[0], "Reputation", "Profile") | 
        Cash: @Html.ActionLink(Data[1], "Index", "FinancialAccount")
</div>
Run Code Online (Sandbox Code Playgroud)

但是当我运行这个项目时,_ StatePartial方法不会调用并且ViewBag始终为null.

Server Error in '/' Application.
Object reference not set to an instance of an object. 
Run Code Online (Sandbox Code Playgroud)

请注意,这些参数不是我的模型字段,而是通过调用Web服务方法进行计算.但我不断在我的问题中设定这些价值.

我能为此做些什么?是否有将参数传递给局部视图的想法?谢谢.

Jus*_*vey 9

你的来电:

@Html.Partial("_StatePartial")
Run Code Online (Sandbox Code Playgroud)

将呈现视图,但不会调用该操作.如果您在父页面操作中发布所有视图数据,则只能使用此选项.在您的情况下,您需要使用此:

@Html.Action("_StatePartial")
Run Code Online (Sandbox Code Playgroud)

这将首先调用操作来检索并执行视图.