2016-06-15 12 views
0

をActionLinkのこのURLパターンを処理するようにしてください:かみそりURLは、私はこのURLリンクを作成しようとしています

context.MapRoute(
       "Topic", 
       "Vote/{id}/{topicURL}", 
       new { controller = "Topic", action = "TopicAnswers" }, 
       new[] { "eus.UI.Areas.Vote.Controllers"} 
      ); 

しかし、私はURLリンクの生成に問題があります。ここに私の試みがあります:

@Html.ActionLink("ViewBag.TopicTitle", "TopicAnswers", new { area = "Vote", controller = "Topic", id = ViewBag.TopicId, topicURL = @ViewBag.TopicURL }) 

最初の質問はどのように私はViewBag.TopicTitleを使用しますか?引用符を削除すると、赤い波打ちのエラーが発生します。私はちょうど引用符を入れて、私はこのURLを生成するアプリケーションを実行することができます参照してください。

モンスターURLを生成します。

mysite.com/Vote/Topic/TopicAnswers/2?url=Learn-to-code 

ただし、実際にはURLが機能します。しかし、私は本当に短くきれいなURLを作成したいと思います。

mysite.com/Vote/2/Learn-to-code 

いずれのヒントも非常に感謝しています。

答えて

0

私はこれを行い、動作します。これは読んで理解するのがとても簡単です。

<a href="/Vote/@ViewBag.TopicId/@ViewBag.TopicURL">@ViewBag.TopicTitle</a> 

@ Html.ActionLink(...)を使用する理由がありますか。それはちょうどスパゲティのように感じる。

はじめに、パラメータ(「テキスト」、アクション、コントローラ)をこの順に配置するのはなぜですか?それはそのようなねじれた道です。これはもっと考えるのが自然です: (コントローラ、アクション、 "テキスト")...そうではありませんか?

関連する問題