2009-08-20 7 views
2

自分のルートを作成:黒御影石は、私が作成しようとしましたので、変更されますasp.net MVCこんにちは私はこのようになりますURL作成しようとしています

黒/御影石/調理台

をそのようなglobal.asax.csで自分のルート:

routes.MapRoute("Kitchen", "kitchen/[color]/[surface]/[type]", 
         new {controller = "kitchen", action = "surface"}); 

キッチン/黒/御影石のURLを変更/調理台

私はAと台所と呼ばれるコントローラを作成すると考えていた。この方法このため、表面 私のコードと呼ばれるctionはそうのようになります。

public ActionResult surface(string color, string surface, string type) 
    { 
     ViewData["color"] = color; 
     ViewData["surface"] = surface; 
     ViewData["type"] = type; 
     return View(); 
    } 

しかし、私は、誰でもの方向に私を指すことができ、私は私のカスタムマッピングにもかかわらず、エラーにこのURLのために404を取得する、それが動作するように取得するように見えるカント読んで、私はここに、このページを読んでされています:http://weblogs.asp.net/scottgu/archive/2007/12/03/asp-net-mvc-framework-part-2-url-routing.aspx

これは彼がクエリとページを持っているようなコードは、私はMVCプレビュー2つの

多くの感謝を使用していて、日付の少しOWTは、私のアイデアを与えたものです

答えて

1

それが動作するようになりまし方法は、あなたのglobal.asaxである、あなたはこのような何かしたいと思います:

routes.MapRoute("Kitchen Surface Route", 
       "kitchen/{color}/{surface}/{type}", 
       new {controller = "kitchen", action = "surface", color="", surface = "", type=""}); 

をそして、あなたはそのようにActionLinkのを持っていると思います:それは得ることができます

<%= Html.ActionLink("Link Text", "Kitchen", "surface", new {color="theColor", type="theType", surface="surfaceType"}, null) %> 

路線によってはいくらか複雑になることがあります。 Phil Haack's Route Debuggerもお手伝いします。

関連する問題