MVC 区域 - 非区域路由解析为区域

2024-01-11

我已在我的 MVC 3 项目中添加了一个区域。我似乎无法在非常简单的场景中使用路由。看来总是想去区解决一下。这是我的配置。启动时:

AreaRegistration.RegisterAllAreas();
IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
    "Default",
    "{controller}/{action}/{id}",
    new { controller = "Browse", action = "Index", id = UrlParameter.Optional }

And

public class AdminAreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get { return "Admin"; }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller = "Users", action = "Index", id = UrlParameter.Optional }
        );
    }
}

在 web.config 中:

<authentication mode="Forms">
  <forms loginUrl="~/Login" defaultUrl="~/Browse" timeout="60" cookieless="UseDeviceProfile" />
</authentication>

我正在使用 RouteDebugger 来尝试解决它。当我导航到登录页面时,调试器显示:

  • AppRelativeCurrentExecutionFilePath:〜登录
  • 管理员/{控制器}/{操作}/{id}不匹配当前请求
  • {控制器}/{操作}/{id}Matches当前请求
  • 匹配的路由:{controller}/{action}/{id}

到目前为止,一切都很好。但随后它显示了这一点:

  • 使用路由“Admin/{controller}/{action}/{id}”生成的 URL:/Admin/Login?ReturnUrl=%2F

接下来我登录。我的登录/索引方法未命中,调试器显示:

  • AppRelativeCurrentExecutionFilePath:〜登录
  • 管理员/{控制器}/{操作}/{id}不匹配当前请求
  • {控制器}/{操作}/{id}Matches当前请求
  • 匹配的路由:{controller}/{action}/{id}
  • 生成的 URL:/Admin/Login?ReturnUrl=%2FAdmin%2F使用路由“Admin/{controller}/{action}/{id}”登录

一方面它说它与管理路由不匹配,然后在生成的 URL 中它说它正在使用该路由。我很困惑。


尝试将具有预定义值的区域参数添加到路由定义中...例如,而不是:

context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { controller = "Users", action = "Index", id = UrlParameter.Optional }
        );

use:

context.MapRoute(
            "Admin_default",
            "Admin/{controller}/{action}/{id}",
            new { area = "Admin", controller = "Users", action = "Index", id = UrlParameter.Optional }
        );

让我知道是否有帮助... 问候

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC 区域 - 非区域路由解析为区域 的相关文章

  • 如何在编辑器模板中获取序列/数组索引?

    案件 我有一个使用 X 类编辑器模板显示的 X 类项目列表 问题 如何获取编辑器模板内部正在处理的项目的索引 我一直在使用这个 HtmlExtension 它只返回迭代所需的 id 它基本上是一个正则表达式ViewData Template
  • 如果 mVC 中不存在该 url,则重定向到页面未找到页面

    如果 url 不存在 我需要将用户重定向到未找到页面 如果用户复制网址并将其粘贴到浏览器上 页面将显示找不到页面的方法 在这我需要将用户重定向到页面未找到页面 看看这个 如何在 ASP NET MVC 中正确处理 404 https sta
  • 带有整数字符串的枚举

    我有一个公众号enum像这样 public enum occupancyTimeline TwelveMonths FourteenMonths SixteenMonths EighteenMonths 我将用它来DropDown菜单如下
  • 64 位 ASP.NET MVC 应用程序无法运行

    首先 我之前曾设法让我的一个 64 位测试 Web 应用程序在这台机器上运行 当我为这个项目制作原型时 我已经在 32 位环境中工作了几周 意识到我需要将应用程序切换到 64 位 当我这样做 在项目中将目标平台设置为 x64 并重新部署时
  • 临时数据持久化

    我一直在与TempData最近面临一个令人困惑的案例 假设TempData在以下操作中创建 public ActionResult MyAction1 myTempData TempData myTempData 预计将在以下 Action
  • 单个控制器站点的 ASP.NET MVC 路由

    我正在尝试创建一个简单的网站 基本上它有一个控制器Home控制器 该控制器有一个动作Index需要一个string作为参数 这是一个目录 并使用该 目录 来完成其工作 我不知道如何创建一个通用的捕获所有路由 将每个 URL 发送到此一个操作
  • 将视图文件作为资源嵌入二进制文件中

    我正在尝试创建一个带有少量控制器的 Net 库 并且我想在多个 Web 项目中重用它们 我已经完成一半了 但我遇到的问题是 每当我将库添加到新的 Web 项目时 我需要将所有相应的视图文件单独复制到新项目中 每当我更新库时 我都需要再次重复
  • ASP.NET MVC3 应用程序可以在不更改特定代码的情况下托管在云中吗?

    我使用以下方法创建了一个 ASP NET Web 应用程序 ASP NET MVC 3 网络表单 Linq 到 SQL MS SQL Server 数据库 WCF 需要做什么才能将其托管在云服务上 我是否应该将其转换为 Azure 应用程序
  • 验证属性被触发两次

    在我的 MVC3 应用程序中 我有模型 未删除重要属性 public class AccountViewModel StringLength 65 public string Property1 get set StringLength 6
  • 在 ASP.NET MVC 中将模型从视图传递到控制器

    我正在 ASP NET MVC 中开发我的第一个应用程序 但遇到了一个我无法解决的问题 即使在阅读了整个互联网之后也是如此 因此 我有几个使用视图模型创建的视图 它们是报告 这些视图模型是根据用户选择标准填充的 我正在尝试构建一种接受模型并
  • 在 MVC 控制器内打开 websocket 通道

    有没有人有在 MVC 控制器内打开 websocket 连接的良好经验 技术栈 ASPNET Core 1 0 RC1 MVC dnx46 System Net WebSockets 为什么使用 MVC 而不是中间件 为了整体一致性 路由
  • ASP.NET Identity:使用角色授权属性在 Azure 上不起作用

    我刚刚在 Azure 上发布了带有 Identity 和 OWIN 授权的新 ASP NET MVC 网站 前端工作得很好 但后端有问题 我在管理控制器中使用 Authorize 属性来检查用户是否具有访问它所需的角色 如下所示 Autho
  • 防止更新 ASP.NET MVC 和实体框架中未更改的值

    我正在使用 ASP NET MVC 和实体框架 我有一个 编辑人员 网页 可以在其中编辑人员的字段 然后在回发操作中 我使用以下代码 var person objectCtx Persons Where s gt s Id id First
  • 将 MVC 操作结果发送到打印机

    我有一个带有操作的控制器 SomeController ActionToBePrinted ActionToBePrinted 返回一个 html 视图 当按下按钮时 从普通的 mvc razor 视图调用此操作 当按下按钮时 我将如何将视
  • 如何获取 Html.Editorfor 的日期选择器

    在我的 MVC3 剃刀页面上 我有一个日期字段 Html EditorFor model gt model Member Dob 下面给出的是我试图获取出生日期字段的日期选择器的代码 Scripts jquery validate min
  • vuejs 模板和 asp.net 部分视图,好的做法吗?

    我在网站中使用 Vue js 并将模板添加到 html 代码中 并将 js 代码添加到单个 js 文件中 所以我不想使用 vue Vuefy Browserfy 方法 而是稍后捆绑并缩小我的 js 文件 由于我必须使用 Asp Net MV
  • 使用 ADAL v3 使用 ClientID 对 Dynamics 365 进行身份验证

    我正在尝试对我们的在线 Dynamics CRM 进行身份验证以使用可用的 API 我能找到的唯一关于执行此操作的官方文档是 https learn microsoft com en us dynamics365 customer enga
  • ASP.NET MVC 3 中嵌入的 PHP 站点的 IgnoreRoute

    我有一个带有嵌入式 WordPress 博客的 MVC 3 网站 以下所有 url 均通过 MVC 定向 www mysite com www mysite com aboutus www mysite com contactus 我还有一
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • 在 MVC API 中使用 Microsoft Azure Active Directory 验证 OAuth 2.0 不记名令牌时出现 401

    我正在写一个MVC 中的 API 服务 没有视图 只有 API 我想使用通过 client credentials 流获取的 OAuth 2 0 令牌 两条腿的 OAuth 我创建了一个Azure 管理门户中的 ActiveDirector

随机推荐

  • 无法在 HttpResponseMessage 标头上设置 Content-Type 标头?

    我正在使用 ASP NET WebApi 我正在我的一个控制器中创建一个 PUT 方法 代码如下所示 public HttpResponseMessage Put int idAssessment int idCaseStudy strin
  • Python BeautifulSoup 相当于 lxml make_links_absolute

    所以lxml有一个非常方便的功能 make links absolute doc lxml html fromstring some html page doc make links absolute url for some html p
  • C# 事件继承

    我有这个程序 class One public delegate void del object o public event del SomethingChanged int x public int X get return x set
  • Delphi:泛型后代的泛型列表并以泛型作为参数

    我对泛型的理解以及它们如何使用和不可以使用有些困难 我有一个像这样的通用类 TControlMediator TControlMediator
  • 通过 fopen 使用代理服务器

    我正在尝试使用 fopen 从另一个网站读取远程文件 我想使用代理来执行此操作 据我所知我可以这样做 context stream context create array http gt array proxy gt tcp 192 16
  • 枕头安装PyPy3缺少zlib

    我当前正在尝试将 PIL 与 PyPy3 一起使用 但无论我如何尝试安装它 我都会收到错误 首先我尝试使用正常安装pypy3 pip install pillow 但出现我需要 zlib 的错误 因此 在寻找解决方案一段时间后 我发现了ea
  • 在python中,有什么方法可以在定义类后自动运行函数吗?

    我正在开发一个类 它需要的类级数据将相对复杂 为了节省打字并尽量减少错误 我想通过函数定义大部分数据 另外 我希望用户可以使用这些数据 即使他们还没有准备好实例化该类 那么 我想知道 有没有办法让这些函数在类定义后就自动运行呢 举个例子 我
  • 当虚拟机中的磁盘空间不足时如何创建天蓝色监视器警报

    我有一台虚拟机 现在我想如果我的磁盘空间显示非常低 我的意思是小于 2 GB 然后我想触发天蓝色监视器警报并希望收到有关此问题的电子邮件 azure Monitor 是否提供任何指标 目前还没有针对磁盘空间的预定义警报 但您可以使用自定义日
  • 使用 RCTAsyncLocalStorage + getAllKeys

    我正在尝试获取 iOS 本机代码上的 AsyncStorage 这是我的代码 void jsonFromLocalRNStrogeForKey NSString key completion void NSDictionary Nullab
  • 动画 UIScrollView contentInset 导致跳转卡顿

    我实现了一个自定义刷新控件 我自己的类 而不是子类 并且由于某种原因 自从迁移到 iOS 8 以来 设置滚动视图 特别是 UICollectionView 的 contentInset 来启动刷新动画会导致奇怪的跳跃 卡顿 这是我的代码 v
  • 自动删除MySQL中过期的数据行

    我已将一些奖金代码行添加到数据库中的奖金详细信息表中 所有奖金代码都有有效期 php是否可以自动删除已过期的行 我使用的代码是 有效期是日期 query select from bonusdetails where BonusType Ma
  • 更改 Fullcalendar 中过去事件的颜色

    我正在尝试实施这个解决方案 https stackoverflow com questions 4016044 adding a class to past events using fullcalendar with google cal
  • Yii ClistView 分页不起作用

    我的 Clistview 分页无法正常工作 我尝试了所有方法 但仍然没有成功 这是我的模型函数 public function getallone criteria new CDbCriteria criteria gt select t
  • 将 XML 转换为 Java 对象的最佳实践是什么?

    我需要将 XML 数据转换为 Java 对象 将此 XML 数据转换为对象的最佳实践是什么 想法是通过 Web 服务获取数据 它不使用 WSDL 仅使用 HTTP GET 查询 因此我无法使用任何框架 答案采用 XML 格式 处理这种情况的
  • 添加了 Lombok,但 Intellij IDEA 无法识别 getter 和 setter

    我在 ubuntu 上使用 IntelliJ IDEA 我添加了龙目岛 jar进入我的项目并安装 IDEA 的 Lombok 插件 我可以访问注释 但是getters and setters没有生成 如果我尝试访问不存在的 getter 或
  • 如何使soapUI 附件路径相对?

    我正在使用soapUI 来测试HTTP 服务器 我需要发送一个多部分 表单数据请求 当我通过文件选择器并附加它时 该请求工作正常 但它将路径保存为绝对路径 并且我需要保存相对于我的测试文件的路径 但没有缓存在我的测试文件中 我怎样才能做到这
  • UITableViewCell 与 UIImage,宽度未更新初始显示的单元格

    我想动态调整 UITableViewCell 内 UIImage 的宽度 我使用情节提要来设计 UITableViewCell 我刚刚添加了一个标签和一个图像 属性得到正确更新 我什至加载了将宽度放入标签以显示它是正确的值 对于图像 我正在
  • Hadoop MapReduce 与 MPI(与 Spark、Mahout 与 Mesos) - 何时使用其中之一?

    我是并行计算新手 刚刚开始在 Amazon AWS 上尝试 MPI 和 Hadoop MapReduce 但我对何时使用其中一种而不是另一种感到困惑 例如 我看到的一个常见的经验法则可以总结为 大数据 非迭代 容错 gt MapReduce
  • docker-machine 和 docker-compose 有什么区别?

    我想我不明白 首先 我创建了 docker machine docker machine create d virtualbox dev eval docker machine env dev 然后我编写了 Dockerfile 和 doc
  • MVC 区域 - 非区域路由解析为区域

    我已在我的 MVC 3 项目中添加了一个区域 我似乎无法在非常简单的场景中使用路由 看来总是想去区解决一下 这是我的配置 启动时 AreaRegistration RegisterAllAreas IgnoreRoute resource