问题标签 [asp.net-routing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
161 浏览

asp.net - 制作利用干净网址的链接的最佳实践

我正在使用 ASP.NET 4 和路由引擎。在我的Global.asax我有这样的东西。

写一个这样的链接可以接受吗?:

我应该使用其中的<% %>标签和代码来检索路线名称,在这种情况下是“项目”吗?

0 投票
2 回答
2468 浏览

asp.net-mvc-3 - 用于网站根请求的 asp.net mvc 路由条目

我不知道如何将 asp.net mvc 定向到所需的控制器,以请求我的站点根目录。

我在 RegisterRoutes 中尝试了很多不同的条目,包括:

我得到的错误是:

未找到视图“索引”或其主视图,或者没有视图引擎支持搜索的位置。搜索了以下位置:~/Views/Home/Index.aspx ~/Views/Home/Index.ascx ~/Views/Shared/Index.aspx ~/Views/Shared/Index.ascx ~/Views/Home/Index。 cshtml ~/Views/Home/Index.vbhtml ~/Views/Shared/Index.cshtml ~/Views/Shared/Index.vbhtml

如何将网站根请求发送到所需的控制器?

更新:仍然无法解决问题,因此创建了一个开箱即用的新 MVC 项目。我确实多次重命名了原始项目,所以也许这把事情搞砸了。

0 投票
1 回答
639 浏览

asp.net - iis 7 /asp.net 不遵守 .net4 网站上的错误页面设置

我刚刚在我的日志中注意到,如果有一个“。” 在 .net 4 集成应用程序池上不存在的 url 末尾,iis 7.5 不显示您预设的 404 url​​,但默认未找到页面。

我在 iis 和 asp.net 设置上都有我的自定义 404 url​​。它适用于任何其他不存在的网址。

站点使用带有 asp.net 网络表单的 .net 4 路由。据我所知,这与路由无关,因为即使我尝试使用诸如“site.com/djfdhfhgfhgfggfff”之类的随机网址。行为没有改变。

有没有人经历过这样的事情?

错误看起来像是来自 asp.net。它读到

更新:刚刚完成了跟踪记录,看起来像是 global.asax 扔了它。

0 投票
3 回答
782 浏览

c# - IIS7 的 URL 路由问题

网址路由和 IIS7 03-24-2011 04:24 PM

你好,

我对 asp.net 4.0 和 IIS7 中的 Url Routing 有疑问。下面我解释了我的网站结构是什么以及它是如何在 IIS7 中配置的。

目录结构:

1.我的网站>索引.aspx

2.我的网站>关于我们>Index.aspx

3.我的网站>ContactUs>ContactUs.aspx

II7 配置:

我已将应用程序的默认文档配置为 Index.aspx 现在,当我访问以下 url 时,IIS7 自动执行很少的路由(请注意,直到现在我还没有在 global.asax 中添加任何路由)

1.localhost/MyWebsite 会被转发到 localhost/MyWebsite/Index.aspx 好!!

2.localhost/MyWebsite/Aboutus 将被转发到 localhost/AboutUs/Index.aspx (此重定向完成,因为父级默认文档由 AboutUs 文件夹继承) 好的!

3.localhost/MyWebsite/ContactUs == Http Error 403.14 Forbidden(这个错误是由IIS7抛出的,因为它在Conactus文件夹中没有找到Index.aspx)很好!

好的,所以为了将 localhost/MyWebsite/ContactUs 路由到 localhost/MyWebsite/ContactUs/Index.aspx,我在 global.asax 的 RegisterRoutes() 方法中添加了以下代码,希望这能满足我的要求。

所以现在当我访问 localhost/MyWebsite/ContactUs 时,我仍然会收到相同的 Forbidden 错误。那么根目录下的 IIS7 默认页面设置是否不允许我的路由工作?

如果我在每个文件夹中都有 Index.aspx 页面,那么它可以 ieredirection 到 /Contactus/Index.aspx ...但是如果我在每个页面中都没有 Index.aspx(我的默认文档)怎么办?

谢谢和亲切的问候,米。

0 投票
0 回答
1723 浏览

c# - asp.net mvc c#通过在部分视图菜单中检测路由来突出显示选定的菜单项

只是想我会回馈一点,因为我在 stackoverflow 上找到了许多解决方案,但尚未发布答案(作为 asp.net mvc 新手):

将菜单系统实现为站点母版页呈现的部分视图后,我希望菜单的控制器突出显示“选定”菜单项,让用户了解他们在站点上的位置。问题是当菜单被渲染时,当前的路由数据是菜单本身的数据,而不是主内容页面的数据。因此,菜单控制器如何知道要突出显示哪个菜单项?我认为我的解决方案非常简洁,但也许您会有其他建议:

这个菜单生成类现在可以使用“parentAction”和“parentController”来突出显示对应于“父”页面的菜单项,即用户在主页面的主要内容部分中查看的页面。

0 投票
1 回答
1259 浏览

c# - AsP.NET 4.0 url 路由

我正在尝试 .NET 4.0 的新功能 - url 路由,但无法获取 url 中传递的信息。以下是代码:

全球.ASPX.CS

登录.aspx:

现在,即使我在 url 中使用 Client/Google,上面提到的属性也会返回 null。当我重置 IIS(IIS 6)并第一次这样做时,它会返回值。否则它给出null。

任何线索?

0 投票
1 回答
176 浏览

asp.net - 仅通过代码从特定目录提供静态文件

我正在寻找一种基于代码的解决方案,仅使用 ASP.NET 路由从指定目录提供静态文件,而不是HttpHandlerWeb.config.

例如:

我有以下部分目录布局

如果从目录中请求任何文件,则/public应按原样提供它们。例如,如果请求任何其他静态文件/readme.txt,则应将其作为404. 允许提供静态文件的目录应该很容易指定为字符串 ( var publicDir = "public";)。

我希望在文件中几乎不需要配置的情况下执行此Web.config操作,并且大部分都在代码中配置。

0 投票
1 回答
500 浏览

.net - .NET URI 路由 MapPageRoute 问题

关于如何解决这个问题的任何想法?

我的 Global.aspx:

非泛型方法 'System.Web.Routing.RouteCollection.MapPageRoute(string, string, string, bool, System.Web.Routing.RouteValueDictionary, System.Web.Routing.RouteValueDictionary, System.Web.Routing.RouteValueDictionary)' 不能与类型参数一起使用

0 投票
1 回答
3945 浏览

asp.net - ASP.NET 路由 - 如果路径存在,GetRouteData 不起作用

我有一个HttpModule拦截所有请求并根据路由规则从数据库加载数据。但是,我一直遇到一个问题;GetRouteData仅在路径不存在时才有效:

假设对 url 有一个请求http://localhost/contact,如果文件系统中不存在该路径,我将获得与该 url 相关的正确路由数据。当我想通过在路径中创建一个 aspx 页面来自定义该 url 处的页面时,就会出现问题~/contact/default.aspx。一旦我这样做,GetRouteData返回null

我什至尝试创建一个新HttpContext对象,但如果页面存在,我仍然无法检索路由数据。

有没有人遇到过这个问题?有解决方案/解决方法吗?

所有帮助将不胜感激。

0 投票
2 回答
2460 浏览

asp.net - Asp.net 路由以屏蔽路径中的物理文件夹

为了更好地组织我的 ASP.Net 项目,我将所有 .aspx 文件放在一个名为 WebPages 的文件夹中。

我想找到一种方法从我的所有 URL 中屏蔽“WebPages”文件夹。例如,我不想使用以下 URL:

但相反,我希望我的所有 URL 如下所示(“WebPages”是我用于构建工作的物理文件夹,但不应该对外界可见):

通过为我的项目中的“每个页面”指定路由条目(并且它有效),我能够提出自己的解决方案,但这根本无法维护,我需要另一种方法。

也许我所追求的是一个捕获所有请求的类,并简单地附加我的“WebPages”物理目录?