2011-08-28 55 views
0

我有asp.net mvc項目,它的結構和路線如下。如何修改路線?

「的Site.Master」 包括圖像和CSS文件,與路徑:

  • ../../Images/1.gif
  • ../../Content/site.css。

當訪問「http://www.localhost.com/Info/Index/1001」頁面時,它工作。

但網頁 「http://www.localhost.com/Info/Index/1001/1」 或 「http://www.localhost.com/Info/Index/1001/2」,不要。

我修改了圖像和CSS文件路徑中的Site.Master等:

  • /Images/1.gif
  • /Content/site.css

另外,是有另一種方法來修復它或修改路由因爲我想在iis中使用虛擬目錄來部署它。

- >圖片

  • 1.gif
  • 2.JPG

- >內容

  • 的site.css

- >查看

  • 首頁

    - Index.aspx的

  • 信息

    - Index.aspx的

  • 共享

    - 的Site.Master

    routes.MapRoute( 「InfoPagedRoute」, 「{controller}/{action}/{classid}/{page}」, new {controller =「Info」,action =「Index」,classid = @「\ d {1,10}「,page = 1} );

回答

0

你原來的路線:

routes.MapRoute(
    "InfoPagedRoute", 
    "{controller}/{action}/{classid}/{page}", 
    new { controller = "Info", action = "Index", classid = @"\d{1,10}", page = 1 } 
); 

它看起來像你試圖使用你的路線默認爲CLASSID一個驗證,所以無論你需要包含一個驗證參數或設置的默認值爲分類。

我建議:

routes.MapRoute(
    "InfoPagedRoute", 
    "{controller}/{action}/{classid}/{page}", 
    new { controller = "Info", action = "Index", classid = 1001, page = 1 } 
); 

如果更新路由不解決問題,你可以使用菲爾哈克的route debugger。確定你所期待的路線實際上是否是正在使用的路線是非常有用的。