0

我正在开发一个 asp.net 网络论坛项目。

我正在使用路由global.asax

我在参数中发送用户名,就像http://abc.com/DailyUsernameReport/fahad它可以正常工作但是当我发送参数时,http://abc.com/DailyUsernameReport/fahad.mahmood它给了我一个错误。

这里fahadfahad.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");
4

1 回答 1

0

尝试更新您的 Route 约束以接受 abc.xyz 之类的名称,请参阅 msdn 文章以获取更多详细信息 h此处

例如

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

我创建的正则表达式将接受“Abc”和“Abc.xyz”作为路由的有效名称。

于 2013-07-01T14:09:04.063 回答