2017-09-04 20 views
0

私はasp.net mvcを使用しています。私はこのようなリンクを生成する必要があります:ActionLinkを使用してハッシュを生成する方法

<a href="#" class="delete-field">Delete</a> 

asp.net mvc ActionLinkヘルパーの使用。これを行う方法はありますか?

+1

を?あなたの質問にあるように単にHTMLを使用しますか? – Shyju

+0

@Shyju私はすべてを一致させようとしています。これができないならOKです。私はちょうど私のコードレビュアーに、もしそれが指摘されていれば、これを知らせるようにします – Luke101

+0

なぜ '@ Html.ActionLink'を拡張する必要があるのですか?私はあなたが「ハッシュ」で「#」記号を間違って識別したと思います、それはアンカーリンクを作るための記号です。確かにアンカー(同じページの特定の要素部分を参照するリンク)に 'ActionLink'を使う必要はありません。 –

答えて

3

FWIWは、:

@Html.ActionLink("Delete", "index", null, new { @class = "delete-field", href = "#" }) 

しかし、前述のように、ポイントの多くはそのような何かをやってにありません。また、拡張メソッド(再び、過剰)を構築できます。その後、

public static class HtmlHelperExtensions 
{ 
    public static MvcHtmlString HashLink(this HtmlHelper htmlHelper, string text, string className = "") 
    { 
     var anchor = new TagBuilder("a"); 
     anchor.InnerHtml = text; 
     anchor.Attributes.Add("href", "#"); 

     if(!string.IsNullOrWhiteSpace(className)) 
     { 
      anchor.AddCssClass(className); 
     } 

     return MvcHtmlString.Create(anchor.ToString()); 
    } 
} 

そしてそうのようにそれを使用する:あなたがここにヘルパーメソッドを必要としないのはなぜ

@Html.HashLink("Delete", "delete-field") 
0

名前が示すように、ActionLinkは、MVCアプリケーションにActionへのリンクを作成するためのものです。ハッシュを使用しないリンクを作成しようとしているだけなので、質問に投稿したときにHTMLコードを使用することをおすすめします。 ActionLinkまたは他のヘルパーを使用する必要はありません。この作品

関連する問題