asp.net-mvc-routing相关内容
当有人输入 URL 时,我试图创建一个自定义的 HTTP 404 错误页面不会在 ASP.NET MVC 中调用有效的操作或控制器,而不是显示一般的“资源未找到"ASP.NET 错误. 我不想使用 web.config 来处理这个问题. 是否有任何路由魔法可以捕获任何无效的 URL? 更新:我尝试了给出的答案,但是我仍然收到丑陋的“找不到资源"消息. 另一个更新:好吧,显然
..
我有两个相互冲突的操作方法.基本上,我希望能够使用两个不同的路由到达同一个视图,要么通过项目的 ID,要么通过项目的名称及其父项(项目可以在不同的父项中具有相同的名称).搜索词可用于过滤列表. 例如... Items/{action}/ParentName/ItemName项目/{action}/1234-4321-1234-4321 这是我的操作方法(还有Remove 操作方法)...
..
我希望能够请求位于 ~/Views 文件夹中的静态 .html 文件.根据文档,路由系统会在评估应用程序的路由之前检查 URL 是否与磁盘文件匹配. 但是当我请求文件时,会出现 404 错误. 我的文件位于 ~/Views 文件夹中.网址为:http://[localhost]/Views/HtmlPage1.html 我错过了什么? 解决方案 我希望能够请求位于“~
..
我的地图是: routes.MapRoute("Default",//路由名称"{controller}/{action}/{id}",//带参数的 URLnew { controller = "Home", action = "Index", id = "" }//参数默认值); 如果我使用 URL http://localhost:5000/Home/About/100%2f200 没有匹
..
这必须之前已经问过,但在阅读此处,这里、这里和 重定向AspxPermanentRoute 我们构建了一个自定义的 RouteBase 子类,用于检测 URL 何时以 .aspx 结尾并路由到我们的 SystemController 以设置 301 重定向.它要求您传入 URL 映射(要匹配的 URL)以路由值(用于生成 MVC URL). 公共类 RedirectAspxPermane
..
我尝试使用的 URL 是以下样式的 URL:http://somedomain.com/api/people/staff.33311(就像 LAST.FM 这样的网站允许在其 RESTFul 和网页网址中使用各种标志,例如“http://www.last.fm/artist/psy'aviah" 是 LAST.FM 的有效网址. 适用于以下场景:- http://somedomain.com
..
从这个问题开始: 使用默认控制器的 ASP.NET MVC 路由 我有一个类似的要求,我的最终用户不希望在其应用程序的着陆或“主页"的 url 中看到控制器名称. 我有一个名为 DeviceController 的控制器,我想将它作为“主页"控制器.这个控制器有许多动作,我想使用如下所示的 URL: http://example.com -> 调用 Index()http://
..
来自 www: ...路由引擎将采用与提供的 URL 匹配的第一条路由,并尝试使用该路由中的路由值.因此,应首先将不太常见或更专业的路线添加到表格中,而更一般的路线应稍后添加...... 为什么要先绘制专业路线?有人可以给我一个例子,我可以在哪里看到“先映射公共路线"的失败? 解决方案 路由引擎将采用与提供的 URL 匹配的第一条路由,并尝试使用该路由中的路由值. 发
..
我正在尝试构建自己的小cms.我创建了一个由静态、评论、文章、新闻继承的抽象 pageBase 类.每个都有自己的控制器方法. 我的问题是我需要允许管理员定义他自己的自定义路径级别.例如.news\local\mynewdog 或 Articles\events\conventions\mycon.所以我想要一种传递字符串数组并设置自定义路由的方法. 解决方案 您可以使用自定义 Ro
..
我已经翻译了我的 mvc 网站,效果很好.如果我选择另一种语言(荷兰语或英语),内容就会被翻译.这是有效的,因为我在会话中设置了文化. 现在我想在 url 中显示选定的文化(=文化).如果是默认语言,则不应在 url 中显示,只有在不是默认语言时,才应在 url 中显示. 例如: 对于默认文化(荷兰语): site.com/foosite.com/foo/barsite.com
..
是否有可能使用子域信息来确定其路由的 ASP.NET MVC 路由?例如: user1.domain.com 转到一个地方 user2.domain.com 转到另一个? 或者,我可以使用 username 参数使这两个控制器/操作都转到同一个控制器/操作吗? 解决方案 您可以通过创建新路由并将其添加到 global.asax 中 RegisterRoutes 中的路由集合来
..
如何在 ASP.NET Core 中使用 Area? 我有一个需要管理部分的应用.此部分要求将其视图放置在该区域中.所有以 Admin/ 开头的请求都需要重定向到该区域. 解决方案 为了在 ASP.NET Core 应用程序中包含一个区域,首先我们需要在 Startup.cs 文件(最好放在任何非区域路由之前): 在 Startup.cs/Configure 方法中: app
..
在 MVC-5 中,我可以在初始启动后通过访问 RouteTable.Routes 来编辑 routetable.我希望在 MVC-6 中做同样的事情,这样我就可以在运行时添加/删除路由(对 CMS 有用). 在 MVC-5 中执行此操作的代码是: using (RouteTable.Routes.GetWriteLock()){RouteTable.Routes.Clear();Rout
..
我注意到在 MVC 2 Preview 2 中,AreaRegistration 以任意顺序加载每个区域的路由.有什么好方法可以先得到一个吗? 例如,我有两个区域 - “站点"和“管理员".两者都有一个“博客"控制器. 我想要以下内容: /admin/-->转到管理员的博客控制器/-->转到站点的博客控制器. 问题是它首先加载站点的路由,所以它匹配 {controller}/{ac
..
一个新的.net core web应用项目带有如下路由配置: app.UseMvc(routes =>{路线.MapRoute(名称:“默认",模板:“{controller=Home}/{action=Index}/{id?}");}); 如果您将其替换为 app.UseMvc() 并为 HomeController 及其操作(索引、关于、联系人、错误)添加适当的 Route 属性,它将仍
..
我正在寻找能够匹配以下路线的路线定义: /segment/xxxx/def /segment/.../xxxx/def /segment/that/can/span/xxxx/def 并且能够运行带有参数`def. 的动作xxxx 但是这种路线是不允许的: [Route("/{*segment}/xxx/{myparam}")] 怎么做? 解决方案 您可以使用自定义
..
请注意:这个问题是在 2016 年提出的.这个问题的原始答案是更新 microsoft api versiong 包.目前,该问题再次出现,但出于其他原因. 原始问题: 我在 asp.net core (web api) 中的路由有一些问题. 我有这个控制器(简化版): [ApiVersion("1.0")][Route("api/v{version:apiVersion}/[
..
我有一个带有两个操作的 Web API 控制器.一个操作返回数据库中所有实体的列表.第二个操作采用查询字符串参数并过滤实体. 搜索操作连接到使用查询字符串参数.它可以工作,但我们遇到了文档工具无法工作的问题,因为操作签名是相同的(文档工具不考虑查询字符串). 将搜索参数从查询字符串移动到路由中的属性是错误的吗?这是一种可以接受的方法吗?会不会导致我没有想到的问题? 目前,这是我使
..
我想接受 /User/ 和 /User/213123 其中 213123 是一个参数 (user_id) 这是我的RouteConfig.cs: routes.MapRoute(名称:“用户",url: "{controller}/{action}/{username}",默认值:new { controller = "User", action = "Index", userna
..
如果我有这样的操作: public ActionResult DoStuff(List stuff){...ViewData[“东西"] = 东西;...返回视图();} 我可以通过以下网址点击它: http://mymvcapp.com/controller/DoStuff?stuff=hello&stuff=world&stuff=foo&stuff=bar 但是在我的 ViewPag
..