Asp.net Url在回发时丢失了页面路径

时间:2015-10-23 16:43:26

标签: c# asp.net vb.net webforms

背景: 我们正在重做我们的网站并尝试对其进行现代化改造。我们最初尝试使用AngularJS,但由于我们的一些用户使用不受支持的浏览器而放弃了它。我们最终只是做了VB webforms并更新了我们网站的设计和功能。

我遇到了导致回发的按钮或项目的问题。当页面尝试回发时,它会命中路径,但会丢失主机名和最后一个" /"

之间的所有内容。

例如,我在该位置设置了登录页面 /Secure/Account/Login.aspx

我也有一条指向/安全/帐户/登录的路线。

因此,当您访问以下页面时: www.website.com/Secure/Accounts/Login

当我点击登录按钮时,而不是回发,我被引导到: www.website.com/Login不存在所以我收到错误。

如果我导航到页面而不是使用路径,则会发生这种情况。因此,如果我在www.website.com/Secure/Accounts/Login.aspx并单击按钮,我最终会在www.website.com/Login.aspx上显示错误。

这不会影响根目录中的页面,只要它们不使用路由属性即可。我们有一些页面使用具有相同问题的路由属性。

我们在根目录中有路由的/Category.aspx页面 / Category / {Attribute1} / {Attribute2} /为页面配置。

当我点击回发的按钮时,如果我在www.website.com/Category/Attribute1/Attribute2页面上,我最终会在www.website.com/Attribute2上显示错误。

1 个答案:

答案 0 :(得分:0)

当我们使用Angular

时,问题最终变成了一小段代码

在我们的母版页.aspx中,我们已经包含了这一行:

<base href="/">

删除此行,我们甚至不再需要修复此问题。