2013-07-01 120 views
0

我正在開發一個asp.net web論壇的項目。asp.net路由參數問題

我在global.asax中使用路由。

我送用戶名http://abc.com/DailyUsernameReport/fahad參數它很好地工作,但是當我送參數一樣http://abc.com/DailyUsernameReport/fahad.mahmood它給了我一個錯誤。

Here fahad and fahad.mahmood是我正在發送的用戶名。

的錯誤是:

"HTTP Error 404.0 - Not Found The resource you are looking for has been removed, had its name changed, or is temporarily unavailable."

任何用戶名都 「」在它給錯誤我怎麼能克服這個問題?

在Global.asax值是:

routes.MapPageRoute("Reports_Daily_ByUsername", "DailyUsernameReport/{Name}",  "~/Reports/UNReportsDaily.aspx"); 
routes.MapPageRoute("Reports_Daily_ByUsername_Month", "DailyUsernameReport/{Name}/{Month}", "~/Reports/UNReportsDaily.aspx"); 
routes.MapPageRoute("Reports_Monthly_ByUsername", "MonthlyUsernameReport/{Name}", "~/Reports/UNReportMonthly.aspx"); 
routes.MapPageRoute("Reports_Yearly_ByUsername", "YearlyUsernameReport/{Name}", "~/Reports/UNReportYearly.aspx"); 
+0

你可以分享一點global.asax你重新路由請求? – vendettamit

+0

是的,我已經分享了global.asax文件內容 –

+0

如果你谷歌的「asp.net mvc dot in route parameter」,你會在stackoverflow上發現幾個問題。您是否嘗試過在這些網頁上建議的解決方案? –

回答

0

嘗試更新路由約束像abc.xyz請參閱MSDN文章瞭解更多詳情^ h here

例如接受的名字

routes.MapPageRoute("Reports_Daily_ByUsername", 
     "DailyUsernameReport/{Name}", 
     "~/Reports/UNReportsDaily.aspx", 
     true, 
     new RouteValueDictionary 
      {{"Name", "^[a-z]+\.?[a-z]*$} 
     ); 

我創建將接受「ABC」和「Abc.xyz」作爲路由有效名稱的正則表達式。

+0

它在正則表達式上給出了錯誤的編譯請求錯誤。 –