Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET MVC 4部分视图不工作_C#_Asp.net_Asp.net Mvc 4_Partial Views - Fatal编程技术网

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