问题标签 [webforms-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 回答
1364 浏览

routing - 母版页内的 ASP.NET 4.0 网络表单路由

我只是想问一下使用母版页的 url 路由是否有解决方法。我将链接放在我的母版页中(即第一个链接是 href="Bookstore/CSS",另一个链接是 href="tools/toolx"),如果我单击第一个链接,它会将我重定向到正确的 url,即 localhost :2039/Bookstore/但如果我点击下一个链接,它会将我重定向到 localhost:2039/tools/Bookstore/CSS,但链接应该是 localhost:2039/Bookstore/CSS。

这是代码

全球.asax

母版源代码

0 投票
2 回答
196 浏览

asp.net - 需要针对 ASP.Net 或 IIS 请求 URL 处理的建议

环境:

  • 服务器 2008
  • IIS 7,集成模式
  • .Net 4
  • ASP.NET WebForms 路由(它使用与 MVC 路由相同的 .dll,虽然我不确定哪个版本)
  • 无 Cookie 会话(会话 ID 在用户的 URL 上传播)。

我们有一个应用程序,它使用路由来识别用户与哪个组织相关联。URL 将采用 domain/Organization/OrganizationSubCategory 的形式。用户按照他们的自定义 URL 并看到一个登录页面。当他们点击下一个时,他们会被引导到一个收集一些人口统计信息的页面,然后他们点击下一个以继续应用程序。当他们这样做时,用户将被添加(如有必要)到我们数据库中的他们的组织中。在初始登录页面之后,路由不再适用 - 用户被定向到常规 aspx 页面。

该网站正在接收相当数量的用户进入该应用程序;平均每天850个。

问题是一小部分(不到 1%)的用户被添加到了错误的组织中。

我们正在登录页面以及他们提交人口统计页面时记录信息。我们记录的一件事是 Request.RawUrl。我们开始注意到与一个组织相关联的用户被记录为请求另一个组织的完整正确 URL(包括子类别)。有时,即使在同一天,也没有人合法地跟踪错误的组织 URL。我们让人们直接报告说他们刚刚创建了“子类别”(使用管理应用程序),指示用户遵循他们的唯一 URL,但日志显示该用户的 URL 完全不同(我知道就是这样用户,因为我正在记录电子邮件地址和会话 ID,因此我可以通过登录页面和人口统计页面关联同一用户的路径)。它'

为了消除某种缓存,我们有:

  • 将配置 httpRuntime 元素的 enableKernelOutputCache 属性设置为 false
  • 在 IIS 设置中禁用缓存
  • 将配置 sessionState 元素的 regenerateExpiredSessionId 属性设置为 false(即使我们没有看到会话 ID 被重用)。

其他建议?

0 投票
1 回答
1998 浏览

asp.net-mvc - 混合 Web 表单和 MVC 的路由错误

我正在开发一个混合了 MVC 的 Web 表单 Web 应用程序。我已按照此页面http://www.packtpub.com/article/mixing-aspnet-webforms-and-aspnet-mvc的说明进行操作,它在 VS2010 开发人员服务器中运行良好,但是当我尝试将其发布到启用 MVC 时IIS 6 浏览器在登录后不会自动重定向到 default.aspx,并且我在应用程序的根目录处收到 404 错误。

我的 Global.asax.cs 看起来像这样:

如果我在 Application_Start 方法中注释掉对 RegisterRoutes 的调用,则自动重定向到 default.aspx 可以工作,但是 MVC 部分会失败。

我需要一些有关如何设置路由以启用自动重定向到 default.aspx 的帮助,同时启用 MVC 路由。MVC 部分位于特定路径下,如下所示:myserver/applicationname/mvcparts。

Asp.Net MVC 3 安装在我发布的开发人员机器和服务器上。

0 投票
1 回答
10601 浏览

asp.net-mvc-3 - Razor 视图类型不继承自“System.Web.WebPages.WebPage”

我在配置 asp.net mvc 应用程序时遇到问题:

我想做的步骤:

  • 将控制器及其视图移动到单独的库中,并将 dll 放入 bin 文件夹中。
  • 创建虚拟文件提供程序和虚拟文件以从程序集中获取数据:

    /li>
  • 将此行添加到 web.config 中:

    /li>
  • 当用户访问此控制器的页面时,它会正确编译为以下类:

    /li>
  • 之后它因这个错误而失败(正如我所看到的 - 他是对的,类型'ASP._Page_Currency_Index_cshtml'不继承自'System.Web.WebPages.WebPage'。)

我应该怎么做才能让 HttpApplication 知道这个页面应该作为 System.Web.Mvc.WebViewPage 而不是 System.Web.WebPages.WebPage 来管理?

我试图将 Views/Web.Config 移动到 bin 文件夹中,但它没有帮助。

0 投票
1 回答
292 浏览

asp.net - Webforms 4 url​​路由多重匹配

我有一个 webforms 4 项目,我使用 url 路由

在某些情况下,给定的路由会匹配多个模式。

似乎路由机制以特定顺序尝试每个模式,并在第一个匹配时停止。(如果我错了,请纠正我)。如果所选模式的资源(主要是 aspx 文件)不存在,则会出现 404 错误(资源不存在)。

下一个匹配模式映射到现有资源,但该机制不会尝试这样做。

示例(使用类似于 MVC 的命名约定)

所以文件系统上有一个/Views/Patient/Overview.aspx 和一个/Views/Patient/Search.aspx。

路由“ /Patient ”将匹配第二个模式并映射到“ /Views/Patient/Overview.aspx

路由“ /Patient/Search ”将匹配第一个模式并映射到“ /Views/Patient/Search.aspx

路由“ /Patient/Search/SomePathInfo ”将匹配第一个模式并映射到“ /Views/Patient/Search.aspx ”(将 url 的“SomePathInfo”部分视为 {*panthinfo} 部分)

现在,问题是路线“ /Patient/SomePathInfo ”匹配这两种模式。第一个将“SomePathInfo”视为 {action} 部分(搜索不存在的“ /Views/Patient/SomePathInfo.aspx ”)。第二个将“SomePathInfo”视为 {*pathInfo} 部分并映射到现有的“ /Views/Patient/Overview.aspx ”。

虽然该机制尝试第一个,但它找不到 SomePathInfo.aspx 文件,并引发 404 错误。

我的问题是“有没有办法指导机制尝试每种模式,直到找到现有资源? (或者,更一般地说,直到满足某些条件?[这里:resource.exists] ”!

0 投票
2 回答
2285 浏览

asp.net - 使用 ASP.NET Web 窗体和路由处理返回 URL

我有一个 ASP.NET Web 表单应用程序(不是 MVC)设置使用在我的 Global.asax 文件中定义的路由,如下所示;

在整个应用程序中,需要对用户进行身份验证,这会将他们简单地重定向到登录屏幕。

我遇到的问题是如何将它们重定向回需要身份验证的位置?使用沼泽标准网址,我会做类似的事情;

网络表单中的路线甚至可能吗?

0 投票
1 回答
114 浏览

asp.net - 在我的 asp.net 网站应用程序中,我在哪里默认主页?

我有一个使用网络表单路由的网站。

目前主页路由如下所示:

但是,出于 SEO 的目的,我正在考虑对其进行更改。我想我有 2 个相关的问题要问:

mysite.com/keyword 会比 mysite.com 更适合 SEO 吗?换句话说,谷歌会考虑域名后的词组吗?

如果我改变路线如下:

如何确保输入 www.mysite.com 的任何人都被重定向到 www.mysite.com/mykeyword?

0 投票
1 回答
1866 浏览

asp.net - ASP.NET 路由所有页面

我有一个路由配置文件,我正在尝试路由遵循公式 .com/{a page}/{a subpage} 的所有 URL,以路由到特定页面 .com/Default/Page.aspx。我的问题是它对所有页面(即.com/Account/Login.aspx)执行此操作。有没有办法指定我希望它仅在用户在地址栏中键入时才路由到该页面,可能只有当他们遗漏了 .aspx 扩展名时?这就是我目前所拥有的:

谢谢!

0 投票
1 回答
570 浏览

asp.net - Aps.Net 4.0 网络表单路由有效,但不能避免 css jpg js 文件

作为标题,我已经实现了路由并且工作正常,但是 CSS js 和 jpg 文件的路径是错误的。

我包含了该库System.Web.Routing,它正确显示在 web.config 中

从我写的标记中的 home.aspx 开始

与以 CSS 开头的 global.asax 相比,我在浏览器的开发工具中收到 404 错误,指向我所有的本地链接(jpg、css、js)导致路由:

而不是:

正如您所看到的,有一些注释行,我已经尝试了所有这些行,但我得到了相同的结果,错误的路径(404)。

URL 是正确的,如在浏览器中显示的两个地方home.aspx,和lookupfortype.aspx。我无法使其工作,我可以尝试更多以及如何调试它,为什么路由会忽略忽略代码:-)

谢谢您的帮助

0 投票
0 回答
635 浏览

c# - 如何做GetRouteUrl?

我想打开“aspnet.pdf”文件,但在 url 中显示“Report.pdf”不显示 url 上的原始文件名,请帮助我如何做到这一点。这是点击事件

这是在 Global.asax

这是给出错误

您要查找的资源已被删除、名称已更改或暂时不可用。

请求的 URL:localhost:2127/Report.pdf

物理路径:C:...\WebSites\GetScheduled\Report.pdf