asp-Url路由不重定向到资源 - 本地工作但不在托管服务器上

时间:2012-08-29 21:15:01

标签: asp.net url-routing

void RegisterRoutes(RouteCollection routes)
{      
    routes.MapPageRoute("cats", "categories/{ct1}/{ct2}", "~/mypage1.aspx", false, new RouteValueDictionary { {"catname",""}});
    routes.MapPageRoute("lists", "lists/{li1}/{li2}", "~/mypage2.aspx", false, new RouteValueDictionary { {"liname",""}});       
}

我已注册路线

protected void Application_Start(object sender, EventArgs e)
{  
    RegisterRoutes(RouteTable.Routes);  
}

但问题是第一条路线完美无缺,但在第二条路线中却说resource not found 令人烦恼的是它找到了正确的路线,因为如果我评论第二条路线,那么它会给出compile时间错误,没有匹配的路线。我试图用不同的方法重定向到路线但没有工作..
这是有效的

<a href='<%# GetRouteUrl("cats",new {ct=Eval("Category_Id"),catname=Eval("Category_Name")}) %>' 

但这不是

<a href='<%# GetRouteUrl("lists",new {lid= Eval("List_Id"),liname=Eval("List_Name_Url")}) %>'>

即使从后面的代码也不起作用。
我甚至更改了路线并添加了1个参数并相应更改,但仍然没有找到它..我甚至从lists路线中删除了可选参数设置,但仍然无法工作..请查看下面的链接

checkitouthere

点击readmore按钮或jquerytabimage上的链接  它正在研究local ..
它是如何在本地但不在服务器上工作的... 即使我把服务器的连接字符串放在我的本地计算机上然后它也不起作用.... 它适用于本地连接字符串..

1 个答案:

答案 0 :(得分:0)

您的“阅读更多”网址存在问题,请尝试允许“。”在web.config中:

看到这是有效的:

http://www.superduper10.com/lists/1/top-ten-european-cities-to-visit

如果您使用的是.NET 4.0,则可以在web.config的system.web部分设置此标志,允许您在网址末尾添加点

<httpRuntime relaxedUrlToFileSystemMapping="true" />

见:

"The resource cannot be found." error when there is a "dot" at the end of the url