asp.net mvc 3 -升级了MVC3项目,Razor视图有问题



我将MVC 2项目升级到MVC 3。它目前是一个小项目,我只有一个控制器和几个视图。

然而,当我尝试使用Razor创建一个新视图时,我遇到了一些问题:

1)即使指定了强类型视图,它也创建了

@model IEnumerable<AcmeProject.SomeObject>

我仍然得到验证(XHTML 1.0传统):Element 'AcmeProject的错误。不支持SomeObject。

2) CS0103:名称'ViewBag'在当前上下文中不存在

<head>
  <title>@ViewBag.Title</title>
</head>

这是对简单布局视图

的引用

3)(不再是一个问题)最初,我在Razor视图的@model第一行出现错误,我遇到了问题,我不得不将以下内容添加到视图/web。配置文件:

<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
  <section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
  <section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
</configSections>
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
  <namespaces>
    <add namespace="System.Web.Mvc" />
    <add namespace="System.Web.Mvc.Ajax" />
    <add namespace="System.Web.Mvc.Html" />
    <add namespace="System.Web.Routing" />
  </namespaces>
</pages>
</system.web.webPages.razor>

我不确定如何解决#1和#2,并且在尝试我在搜索中遇到的一些解决方案时都没有成功。然而,我也担心我将继续有问题,因为这是一个升级。就像电脑一样,升级是魔鬼的游乐场。我是否只需要创建一个新项目并将我的文件迁移到其中?

确保您已经按照发行说明中关于升级ASP的步骤进行了操作。asp.net MVC 2项目。asp.net MVC 3。还有ASP。. NET MVC 3升级工具

相关内容

最新更新