我有一个使用 .NET FrameWork 4.5.1 使用 ASP.NET Web Forms 开发的网站
我们需要为移动设备构建站点的副本(在这种情况下响应式对我们不起作用)所以我最终考虑使用 ASP.NET MVC 来完成站点的这一部分。
继续之前请注意: 我知道有几个关于这个主题的问题得到了回答,并且在网络上有一些关于如何混合它们的文章。但它们都不适合我,因为我正在尝试使用 One ASP.NET Framework 来避免进行大量手动工作。
所以,我所做的是:
- 在我的 ASP.NET WebForms 项目中添加 MVC 的 Nuget 包
- 添加后,我配置了一个 MVC 区域以在 MVC 中包含我的移动站点
项目结构如下:
我的问题来了:如果我运行任何 ASPX 页面,它们都运行正常。当我转到/Mobile/Home/Index 时,它说找不到资源。我怀疑这是因为我的项目中不存在 App_Start 文件夹,而且 Starup.cs 也不存在,所以该网站对 MVC 路由一无所知。
问题
如何添加具有默认值的 App_Start 文件夹和 Starup.cs 而不会影响该过程(避免复制/粘贴或手动过程)?
我怎样才能让这两个(Web 类型的项目)共存,正如他们所说的那样,可以使用一个 ASP.NET 框架来完成?
谢谢!
最佳答案
您需要在 Global.asax 中注册这些区域(如果不存在,请通过“添加项目”菜单选项添加):
public class Global : HttpApplication
{
protected void Application_Start(object sender, EventArgs e)
{
AreaRegistration.RegisterAllAreas();
}
}
这将启用指向您的手机的链接@ localhost/{ProjectName}/Mobile/Home
关于c# - 将 ASP.NET MVC 区域添加到 ASP.NET Web 窗体现有项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30197826/