使用区域有问题,不确定路由或网络是否有问题.配置设置



问题按以下步骤描述。

  1. 创建一个新的ASP。使用Internet应用程序模板的NET mvc Web应用程序。
  2. 用Authorize装饰HomeController类。
  3. 运行应用程序,它基本上会带您http://localhost: 51578/Account/LogOn?ReturnUrl=%2F目前一切正常。

让我们在这个项目中定制一些东西。

  1. 在此解决方案中添加名为"Login"的区域,并将查看器下的AccountController.cs, AccountModel.cs和整个Account文件夹移动到该区域下名为Login的适当文件夹中。
  2. 现在运行应用程序,你会得到以下错误

描述:当前web请求执行过程中出现未处理的异常。请查看堆栈跟踪以获得有关错误及其在代码中的起源位置的更多信息。

Exception Details: System。InvalidOperationException:没有找到视图'LogOn'或其主视图,或者没有视图引擎支持搜索的位置。搜寻的地点如下:~/视图/账户/LogOn.aspx
~/视图/账户/LogOn.ascx
~/视图/共享/LogOn.aspx
~/视图/共享/LogOn.ascx
~/视图/账户/LogOn.cshtml
~/视图/账户/LogOn.vbhtml
~/视图/共享/LogOn.cshtml
~/视图/共享/登录。vbhtml

我需要在网上修改任何东西吗?配置或在路由中使此工作?

授权属性将您重定向到LogOn页面,该页面无法在Login区域之外的视图文件夹中找到。如果你在登录区域和LoginRegisterArea中移动HomeController,你添加一个有效的路由到home控制器,它将工作。

我试着做你想做的,但我发现的唯一解决方案是让你想要授权的控制器和LogOn视图在同一个地方。我之前提到的保持控制器和LogOn视图分开的解决方案不起作用。

也许有人能找到一个解决办法,实现你真正想要的。

最新更新