7

主に SEO 上の理由から、アクション リンクに「rel」を追加することにしましたが、これについて行った方法が「ベスト プラクティス」に従うかどうかはわかりません。以下に示すように、新しい拡張メソッドを作成しました。

これはこれを行うための最良の方法ですか?このアプローチで修正すべき点はありますか?

見る

<%= Html.ActionLink("Home", "Index", "Home")
    .AddRel("me")
    .AddTitle("Russell Solberg")
%>

拡張方法

public static string AddRel(this string link, string rel)
{
    var tempLink = link.Insert(link.IndexOf(">"), String.Format(" rel='{0}'", rel));
    return tempLink;
}

public static string AddTitle(this string link, string title)
{
    var tempLink = link.Insert(link.IndexOf(">"), String.Format(" title='{0}'", title));
    return tempLink;
}
4

3 に答える 3

13

追加の html パラメータを非常に簡単に追加でき、独自の拡張メソッドを記述する必要はありません。

<%= Html.ActionLink("Home", "Index", "Home", null,
                     new { title="Russell Solberg", rel="me"}) %>
于 2010-02-02T08:25:13.720 に答える
4

4 番目のパラメーターとして渡される匿名クラスを使用して、アクション リンクに属性を追加できます。

<%= Html.ActionLink("Home", "Index", null,new{ @title="Russell Solberg", @rel="me" }) %>

@ 記号を使用して、C# の予約済みキーワード (クラスなど) である属性名を指定できます。

于 2010-02-02T08:25:50.863 に答える
2

どの文字列でもこれが可能になるので、おそらくそのようにはしないでしょう。独自の拡張メソッドを作成しなくても、アクション リンクを使用してこれを行うことができます。このような:

<%=Html.ActionLink("Home", "Index", "Home", null, new {title = "Russell Solberg", rel = "me"}) %>

個人的には、読みやすいと思うので、自分でタグを使用Url.Action()して記述することを好みます。<a />

于 2010-02-02T08:25:33.467 に答える