質問

私は、タイトルはかなりそれをまとめていると思います:

ASP.NET MVCでRouteLink()ActionLink()の違いは何ですか?

は、すなわち。ときにHtml.RouteLink()を使用したときに、あなたのビューでHtml.ActionLink()を使うのですか?

役に立ちましたか?

解決

アクションとルートが1持っている必要はありません:1の関係を

ActionLinkのはアクション名で最初に一致したルートを使用してアクションを取得するURLを生成します。

RouteLinkは、名前または経路の値によって決定される特定のルートにURLが生成されます。

他のヒント

実際には、二つの方法からの出力は同じであるが、わずかに異なる方法で生成されます。

Html.ActionLink() になりますそれは簡単、高速ActionLinksを生成するために、そしてあなたにレンダリングされているもの以上の基本的な制御を提供します。あなたはあまりにも多くのルートを持っていない、またはあまりすぎたり、特定の情報を提供する必要がない場合、これはただ細かい作業を行います。

Html.RouteLink()するこの方法は、わずかに異なる引数を取り、したがって、あなたは、物事の処理方法をほとんどより詳細に制御できます。私は私のシナリオはもう少し複雑である場合は、この方法を使用する傾向がある、または私はより詳細なルート構造を持っている場合。
一つの例は、I(柔軟性)が、むしろ多くの情報を可能にする1複雑なものよりも、すべての非常に簡単だった、いくつかの異なる経路を、持っていた最近のプロジェクトです。したがって、私はすべての指定されたデフォルトのアクションで、同じコントローラのための4つまたは5ルートになってしまいました。私はルート名を指定する場合、デフォルトのパラメータが自動的に入力されたので、私は主に、RouteLinkのバージョンを使用します。

あなたのような感じのように、彼らはあなたのプロジェクトに意味をなすようにそれらを使用してください。それらのいずれかへの上振れ/欠点は(...それはいくつかの他にマッチしていない)、実際にはありません。

ここで与えられた他の回答に加えて、RouteLinkは少し速くなり、そして、あなたのルーティングテーブルを変更したため、これまで間違ったルートと一致しないことができます。

RouteLinkは、ルートの名前を取りますので、あなたのルート名は信頼性が高く、かなり独特であるならば、これはアクション名を変更し、使用する場合でも同じになります。代わりに、特定のコントローラの具体的な行動へのActionLinkのリンク。私は後だリンクの種類に応じて、私の意見では、両方を使用!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top