问题标签 [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 投票
3 回答
1536 浏览

sharepoint - 将 ASP.Net 3.5 SP1 路由与 SharePoint 2007 一起使用

我正在尝试在 SharePoint 网站上设置一些友好的 URL。我知道我可以使用 RewritePath 执行 ASP.Net 2.0 友好 URL,但我想知道是否可以使用 ASP.NET 3.5 SP1 附带的 System.Web.Routing。

我想我已经想出了如何加载我的路由表,但我不清楚使用什么方法来让正确的 IHttpHandler 传递出去。

谢谢!

0 投票
4 回答
46430 浏览

.net - 如何在 ASP.NET MVC 中重定向到动态登录 URL

我正在创建一个为客户托管页面的多租户网站。URL 的第一段将是一个标识客户端的字符串,在 Global.asax 中使用以下 URL 路由方案定义:

这可以正常工作,使用 /foo/Home/Index 等 URL。

但是,当使用 [Authorize] 属性时,我想重定向到也使用相同映射方案的登录页面。因此,如果客户端是 foo,则登录页面将是 /foo/Account/Login 而不是 web.config 中定义的固定 /Account/Login 重定向。

MVC 使用 HttpUnauthorizedResult 返回 401 未授权状态,我认为这会导致 ASP.NET 重定向到 web.config 中定义的页面。

那么有人知道如何覆盖 ASP.NET 登录重定向行为吗?还是通过创建自定义授权属性在 MVC 中重定向会更好?

编辑 - 回答:在深入研究 .Net 源代码后,我决定自定义身份验证属性是最佳解决方案:

0 投票
2 回答
3706 浏览

asp.net-mvc - 每个视图的公共方法?ASP.MVC 中的默认 ActionResult 和路由

我正在试验 ASP.NET MVC 和路由。

似乎 MVC 在我想创建视图的任何时候都强制我向控制器添加一个公共方法。例如:

我不想为每个视图创建一个公共方法。默认情况下,除非另有说明,否则我希望系统中所有视图的“返回 View()”行为。

例如,HTTP GET:

就目前而言,我必须补充:

所有结果都是“返回 View()”。这是我的问题,我试图消除为简单视图创建公共操作方法。

对于需要额外处理的视图,例如 HTTP POST 上的“联系我们”页面,用于:

我想专门在控制器中添加一个方法来发送 SMTP 消息。


以下是我正在尝试做的更简洁的示例:

谢谢,布赖恩

0 投票
2 回答
4534 浏览

c# - Web 表单路由 - 无法创建抽象类

Net 3.5 SP1 并尝试将http://haacked.com/archive/2008/03/11/using-routing-with-webforms.aspx的示例副本实现到示例 Web 应用程序中,但是我似乎遇到了一些问题。

我正在运行 windows vista、IIS 7.0、集成模式。

以下是 YSOD:

无法创建抽象类。

说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。

异常详细信息: System.MissingMethodException:无法创建抽象类。

源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。

堆栈跟踪:[MissingMethodException:无法创建抽象类。] System.RuntimeTypeHandle.CreateInstance(RuntimeType 类型,Boolean publicOnly,Boolean noCheck,Boolean& canBeCached,RuntimeMethodHandle& ctor,Boolean& bNeedSecurityCheck)+0 System.RuntimeType.CreateInstanceSlow(Boolean publicOnly,Boolean fillCache)+86 System.RuntimeType.CreateInstanceImpl(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean fillCache) +230 System.Activator.CreateInstance(Type type, Boolean nonPublic) +67 System.RuntimeType.CreateInstanceImpl(BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfo 文化, Object[] activationAttributes) +1051 System.Activator.CreateInstance(Type type, BindingFlags bindingAttr, Binder binder, Object[] args, CultureInfoculture, Object[] activationAttributes) +111 System.Web.Configuration.HandlerFactoryCache..ctor(String type) +57 System.Web.HttpApplication.GetFactory(String type) +78 System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +229 System.Web. HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +155

我有一个看起来像这样的界面:

我有一个抽象类(RouteablePage),它继承了这个接口和 System.Web.UI.Page。

然后我有一个网页(附加到母版页),它继承了 RoutablePage 类。

我在我的 Web 配置中设置了路由,当我尝试访问http://local.url/pageName时,我体验到带有上述信息的 YSOD。

有人可以帮忙解决这个问题吗?

干杯

0 投票
2 回答
294 浏览

asp.net-mvc - 一个字,这样做的 ASP.NET (MVC) 路由崩溃

我读到了一个字符串/单词,它导致路由崩溃,但我不记得它是哪个单词/字符串组合。

例子:

Microsoft Logging 应用程序块和多线程- 有效

Microsoft Logging 应用程序块和多线程- 有效

Microsoft Logging 应用程序块和多线程- 有效

Microsoft Logging 应用程序块和多线程- 崩溃!

不,这不是香蕉,而是一个单词/字符串,因此路由在使用路由系统的每个应用程序中都崩溃了。

我想我记得这是一个已知问题,但我不记得在哪里可以找到它。也许我在stackoverflow上的评论中读到了它。

0 投票
5 回答
10102 浏览

iis-6 - ASP.NET routing on IIS 6

I have created a basic site using ASP.NET routing according to Mike Ormond's example "Using ASP.NET routing Independent of MVC". This works fine on my local machine running the built-in web server.

However, when I deploy it to my server (Windows Server 2003, IIS 6, ASP.NET 3.5 SP1) it just shows a 404 error.

I have read somewhere that I am meant to set up wildcard routing. How can I do this?

What other configuration changes needs to be done to make it work on my server?

0 投票
2 回答
3913 浏览

web-services - Asp.net 路由、WebServices 和 IIS7 经典

我有一个在 IIS7 Classic 上运行的 Web 表单应用程序。它使用 .asmx 样式的 Web 服务来处理网站的客户端重部分。

我们的任务是在“友好的 url”中分层,并决定使用新的 Asp.net 路由。我们在 IIS 中有一个规则将所有请求映射到 aspnet_isapi.dll,这在我们的 web.config (system.webServer/hanlers) 中产生了这个声明:

但是现在路由会破坏我们的 .asmx Web 服务请求(形式为http://example.com/blah.asmx/SomeMethod)。对 Web 服务的任何请求都会给我们带来无穷乐趣:

将此行放入我们的路线设置中:

仍然给我们留下“无法执行 URL”异常。我知道这条路线是匹配的,因为:

使用该路由而不是“无法执行 URL”,我会看到“方法未实现”,就像我期望的那样。

我怀疑我们的 * -> aspnet_isapi.dll 正在造成严重破坏,因为我在搜索谷歌时没有发现其他人这样做。

提前感谢您的任何见解。

0 投票
1 回答
3425 浏览

asp.net - Asp.net 3.5 Sp1 子域路由?

我想知道有没有办法在 Asp.net 3.5 路由中引入子域

我发现的都是http://blogs.securancy.com/post/ASPNET-MVC-Subdomain-Routing.aspx

但我正在寻找更复杂的东西来允许做通配符子域

任何帮助?

0 投票
2 回答
3057 浏览

asp.net - 网络服务器上的 system.web.routing 不起作用

我已经阅读了所有这些关于如何使 system.web.routing 工作的文章,但所有这些文章都在 localhost:port 上进行了解释。我可以在本地机器上让它工作,但是一旦我将网站上传到服务器上,无论我做什么,路由都会停止工作。

首先,我尝试不使用任何扩展名(.aspx),但经过所有努力,我放弃并添加了扩展名,但它仍然无法在服务器上运行。

任何帮助表示赞赏。

样本:

global.ascx

在路由处理程序中

在 httpModules 下的 web.config

这非常简单,可以在本地机器上运行,但不能在 Web 服务器上运行。

0 投票
2 回答
268 浏览

asp.net - asp.net mvc 是如何计算出来的?

我怎么能在控制器中创建一个方法并只输入一些参数,然后在我单击表单提交后它会计算出来?在幕后,它如何找到正确的方法以及它如何确定我只想要这些论点?