首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在页上使用querystring,则在samepage中重定向

如果在页上使用querystring,则在samepage中重定向
EN

Stack Overflow用户
提问于 2019-09-26 14:14:58
回答 1查看 133关注 0票数 0

我正在尝试点击products.aspx中的一个链接,然后重定向到另一个页面categories.aspx。当我在路由中使用{*id}处理products.aspx链接上的查询字符串时,效果不佳。发送相同的products.aspx页面。

我的路线:

代码语言:javascript
复制
   routes.MapPageRoute("productsgroup", "products/{groupname}/{*id}", "~/products.aspx");
   routes.MapPageRoute("productscat", "products/brand/{bname}", "~/categories.aspx");

products.aspx页面中的超链接:

代码语言:javascript
复制
<asp:Hyperlink ID="hyper_link" runat="server" NavigateUrl='<% GetRouteUrl("productscat", new {bname=Eval("brand-name").ToString()})%>' Text="Category1"></asp:Hyperlink>

超链接位于asp中:中继器和Eval()在链接上运行良好,链接看起来很正常,当我单击超链接时,url会更改,但不会发送categories.aspx页面。

如果删除querystring {*id}而不使用超链接,则工作正常。

我想弄清楚为什么会发生这种事,我们能做些什么。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-09-27 11:11:20

有一个简单的解决办法。更改路线顺序,您的目标网址和链接将工作。

代码语言:javascript
复制
routes.MapPageRoute("productscat", "products/brand/{bname}", "~/categories.aspx");
routes.MapPageRoute("productsgroup", "products/{groupname}/{*id}", "~/products.aspx");

路由认为目标url是"productsgroup“,因为它知道url和目标url是这样启动的。路由等待变量和第二条路由,就像它不存在于路由一样。

希望能帮上忙。干杯。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58118783

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档