2013-04-03 54 views
-1

我有6個產品頁面。其中一個產品頁面將有6個輔助頁面。靜態內容二級頁面需要什麼結構?

我將如何爲此創建控制器,以便最終獲得乾淨的鏈接。

/Products/Product1 
/Products/Product2 
/Products/Product3 
/Products/Product4 
/Products/Product5 
/Products/Product6 
/Products/Product6/SecondaryPage1 
/Products/Product6/SecondaryPage2 
/Products/Product6/SecondaryPage3 
/Products/Product6/SecondaryPage4 
/Products/Product6/SecondaryPage5 
/Products/Product6/SecondaryPage6 

我已經調查區域,可以完成我想他們,但我沒有任何運氣服用區域名稱和連字符,如果下劃線都存在。我可以讓控制器和操作連字符而不是區域。如果有人知道如何讓該區域連字符,我將再次沿着該路線前進。

更多信息

這些都是靜態的內容頁面。沒有涉及數據庫。我將如何設置一個控制器來生成上面的URL?我的問題是關於輔助頁面以及如何處理這些頁面。區域是唯一的方法,如果是的話,我如何修改路由以允許區域名稱中的連字符,因爲我將來可能需要這樣做?

+0

這完全不清楚你在嘗試什麼在這裏做。你是什​​麼意思,「讓區域連字符」?這些網址是你所擁有的還是你想要的?你有什麼控制器/操作以及你想要訪問哪些路線?你需要提供更多的信息。 – 2013-04-03 21:39:57

回答

1

你的問題並沒有什麼意義,尤其是考慮到你想要的URL不包含任何連字符,但通常,一個區域的路由是由一個名爲[AreaName]AreaRegistration.cs的文件控制的。該文件中的類中,有個方法:

public override void RegisterArea(AreaRegistrationContext context) 
{ 
    context.MapRoute(
     "MyArea_default", 
     "MyArea/{controller}/{action}/{id}", 
     new { action = "Index", id = UrlParameter.Optional } 
    ); 
} 

所以,你可以很容易地改變通過改變這個默認路由的區域是如何在URL中表示:

"My-Area/{controller}/{action}/{id}", 

(注意加連字符。這只是一個字符串,它可以看起來像你喜歡的。URL中的區域前綴不必與實際區域名稱相匹配。)