C# 方法'没有重载;渲染部分';接受3个参数

C# 方法'没有重载;渲染部分';接受3个参数,c#,asp.net-mvc,partial-views,C#,Asp.net Mvc,Partial Views,这让我发疯,我得到: 方法“RenderPartial”不重载3个参数 我的\u布局的压缩版本: <head> @{ var footer = new footer(User); var pageTitle = ViewData["Title"].ToString(); } </head> <body> @{ Html.RenderPartial(

这让我发疯,我得到:

方法“RenderPartial”不重载3个参数

我的
\u布局的压缩版本

    <head>
    @{
      var footer = new footer(User);
      var pageTitle = ViewData["Title"].ToString();
    }
    </head>
    <body>
        @{ 
            Html.RenderPartial(
                  "_footer",
                   footer,
                   new ViewDataDictionary(this.ViewData) { { "pageTitle", pageTitle } }
            );
        }
    </body>

\u footer
是一个局部视图,我在其中使用
footer
对象,并在需要标题的位置调用其他局部视图。

您可以使用ViewBag来执行此操作

MyController.cs:

_layout.cshtml:

_footer.cshtml:


@ViewBag.pageTitle

您可以使用ViewBag来完成

MyController.cs:

_layout.cshtml:

_footer.cshtml:


@ViewBag.pageTitle

但是我正在从使用如下布局的页面设置标题:
@{ViewData[“title”]=“My title”;}
这与question@DavidLee用户ViewBag.Title代替ViewData[“Title”],更简单,您不需要通过引用传递,只需在整个视图中使用ViewBag.Title,但我正在设置使用布局的页面的标题:
@{ViewData[“Title”]=“My Title”;}
这与question@DavidLee用户ViewBag.Title代替ViewData[“Title”],更简单,您不需要通过引用传递,只需在整个视图中使用ViewBag.Title在哪里以及如何定义
pageTitle
?我刚才添加了该部分,但您仍然没有显示在
{“pageTitle”,pageTitle}
中声明
pageTitle
的位置-您显示的代码生成的名称“pageTitle”在当前上下文中不存在,不是你要声明的错误你也没有指出什么
页脚
是不可能获得方法“RenderPartial”的无重载,因为你共享的代码有3个参数错误。你在哪里以及如何定义
页面标题
?我刚才添加了那部分,但你仍然没有显示你要声明的位置
pageTitle
{“pageTitle”,pageTitle}
中-您显示的代码生成的名称“pageTitle”在当前上下文中不存在,不是您所声称的错误您也没有指出什么
footer
isIt不可能为“RenderPartial”方法获取无重载,因为您共享的代码有3个参数错误。
@{
    Layout = "~/Views/Shared/_Layout.cshtml";
    ViewData["Title"] = "My Title";
}
<h1>Hello there</h1>
// set the title on a ViewBag inside your action
ViewBag.pageTitle = "My Title"; 
// call your partial view passing the model
@Html.Partial("footer", footer); 
<!-- use the ViewBag data with @ -->
<h1>@ViewBag.pageTitle</h1>