Visual Studio中缺少ASP.NET MVC"转换为Web应用程序"选项

pbz*_*pbz 1 asp.net-mvc visual-studio-2008

我正在使用Visual Studio 2008 SP1和ASP.NET MVC v1.右键单击视图时,我没有得到"转换为Web应用程序"选项,我需要在.cs类后面生成代码.我看到实际项目和文件夹的选项,但不是视图(aspx文件).我检查了ProjectTypeGuids以获得"正确"(?)值:

{603c0e0b-db56-11dc-be95-000d561079b0}; {349c5851-65df-11DA-9384-00065b846f21}; {fae04ec0-301f-11D3-bf4b-00c04f79efbc}

关于我能找到什么的任何其他建议?

谢谢.

(我知道使用MVC类后面的代码的设计含义)

PS要手动完成所有你需要做的是:

  1. 添加与视图同名的文件和.cs(或.vb)扩展名,例如Index.aspx.cs.确保修改您的类以继承System.Web.Mvc.ViewPage或从其继承的其他类.
  2. 编辑aspx文件并添加到@Page指令CodeBehind ="Index.aspx.cs"并将Inherits更改为"MyNamespace.Views.Home.Index"(显然你需要有正确的代码和名称空间).
  3. 右键单击aspx文件,然后选择"转换为Web应用程序".这将创建设计文件,并修改.cs类并将其标记为"部分".

Geo*_*ker 5

没有必要在ASP.NET MVC中使用"代码隐藏".

如果使用"代码隐藏",则不遵循ASP.NET MVC的约定.

问题是,为什么你想要一个代码隐藏?回答这将有助于我们确定您真正需要的是什么.

如果你真的想这样做,你可以通过将Webforms和ASP.NET MVC混合在一起来实现.这有很多资源,但这里只有一个.

  • 因为我想重用许多控件,而不是以MVC方式重建它们.这些特定控件不以任何方式与控制器耦合. (2认同)

Fra*_*nov 5

"转换为Web应用程序"是项目/文件级命令.您不能在单个ASPX文件上使用它.

此外,没有其他自动方式(我知道:-))将代码隐藏文件添加到ASPX文件.您必须手动执行此操作,方法是自己添加相关文件,然后将它们添加到.csproj中.