0

我有一個混合的aspx/MVC webapp項目,需要重寫傳入URL的MVC路由或通過IIS重寫。無論工作。我無法弄清楚這一點。將舊的.aspx路徑重寫爲新的MVC路徑

我有以下的老路:

/Article/Nugget/Article.aspx?articleId=30 

,我需要重寫這:

/Article/Nugget/30 

問題是MVC路線在Article.aspx閱讀作爲傳遞參數以及我在IIS7中重寫此內容的所有內容都被忽略。嗯..這個問題是我沒有一個線索:)

回答

1

嘗試類似:

 

routes.MapRoute(
      "Article", 
      "Article.aspx", 
      new { controller = "Article", action = "Nugget"} 
     ); 
 

隨着一個名爲條款ArticleID參數,當然你的操作方法

 
public ActionResult Nugget(int articleId) 
{ 
.. 
} 
 
+0

反正不必須在金塊簽名中使用articleID?如果可能的話,我寧願使用ID .. – 2012-03-20 16:51:03

+0

如果您的參數名爲articleId,那麼這也會打破Article/Nugget/50 – 2012-03-20 16:54:19

+0

的路線,您的路線中的值應該匹配以保持一致性。另一種方法是爲/ Article/Nugget/{articleId}指定一個MVC路由,那些認爲所有路由都應該被指定的路徑,而不是一個匹配名爲'id'的泛型參數的單一路徑,我傾向於同意。 – 2012-03-20 17:40:24