簡體   English   中英

使用Web窗體路由時查詢字符串丟失

[英]Query string lost when using Web Forms routing

我正在嘗試使用查詢字符串路由到以下頁面:

http://sitename/Pages/Pages.aspx?id=1 - route to - http://sitename/testpage1  
http://sitename/Pages/Pages.aspx?id=2 - route to - http://sitename/testpage2

我在一個Webform項目中使用Microsoft.AspNet.FriendlyUrls:

var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
routes.RouteExistingFiles = true;
routes.MapPageRoute("News Default", "News", "~/news/news.aspx");
routes.MapPageRoute("Contact Default", "Contacts", "~/contacts/contacts.aspx");

routes.MapPageRoute("Test1", "TestPage1", "~/Pages/Pages.aspx?id=1");
routes.MapPageRoute("Test2", "TestPage2", "~/Pages/Pages.aspx?id=2");

“新聞默認值”和“聯系默認值”可以正常工作,但不能運行測試頁,因為它們丟失了查詢字符串值。

我為路由使用了默認值。 可能不是最優雅的解決方案,但它可行:

routes.MapPageRoute("Test2", "TestPage2/{id}", "~/Pages/Pages.aspx", true, 
new RouteValueDictionary {{"id","2"}}); 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM