我正在尝试使用WebForms项目中的现有MasterPage,并将其与MVC区域一起添加到同一解决方案中。
我已阅读this blog,目前我仍然坚持如何连接两者。我已经在Shared
文件夹中添加了扩展方法和他建议的所有项目。
在他的示例Shared/RazorView.aspx
文件中,我在此行中收到两个错误。
<% Html.RenderPartial((string) ViewBag._ViewName); %>
`The name 'Html' does not exist in the current context`
`The name 'ViewBag' does not exist in the current context`
如何引用MasterPage或设置视图以便将MasterPage用作部分内容?
答案 0 :(得分:3)
你几乎就在那里。您只需要配置ASP.NET WebForms以了解Views/web.config
中的MVC:
<system.web>
<pages pageParserFilterType="System.Web.Mvc.ViewTypeParserFilter, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
pageBaseType="System.Web.Mvc.ViewPage, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"
userControlBaseType="System.Web.Mvc.ViewUserControl, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<controls>
<add assembly="System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" namespace="System.Web.Mvc" tagPrefix="mvc" />
</controls>
<namespaces>
<add namespace="System.Web.Mvc.Html"/>
</namespaces>
</pages>
</system.web>
为了使RenderPartial
扩展方法起作用,您还需要添加名称空间System.Web.Mvc.Html
。