私はasp.net mvcを使用しています。私はこのようなリンクを生成する必要があります:ActionLinkを使用してハッシュを生成する方法
<a href="#" class="delete-field">Delete</a>
asp.net mvc ActionLinkヘルパーの使用。これを行う方法はありますか?
私はasp.net mvcを使用しています。私はこのようなリンクを生成する必要があります:ActionLinkを使用してハッシュを生成する方法
<a href="#" class="delete-field">Delete</a>
asp.net mvc ActionLinkヘルパーの使用。これを行う方法はありますか?
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")
名前が示すように、ActionLink
は、MVCアプリケーションにAction
へのリンクを作成するためのものです。ハッシュを使用しないリンクを作成しようとしているだけなので、質問に投稿したときにHTMLコードを使用することをおすすめします。 ActionLink
または他のヘルパーを使用する必要はありません。この作品
を?あなたの質問にあるように単にHTMLを使用しますか? – Shyju
@Shyju私はすべてを一致させようとしています。これができないならOKです。私はちょうど私のコードレビュアーに、もしそれが指摘されていれば、これを知らせるようにします – Luke101
なぜ '@ Html.ActionLink'を拡張する必要があるのですか?私はあなたが「ハッシュ」で「#」記号を間違って識別したと思います、それはアンカーリンクを作るための記号です。確かにアンカー(同じページの特定の要素部分を参照するリンク)に 'ActionLink'を使う必要はありません。 –