2017-09-04 141 views
0

我正在使用asp.net mvc。我需要生成如下鏈接:如何使用ActionLink生成哈希值

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

使用asp.net mvc ActionLink助手。有沒有辦法做到這一點?

+1

爲什麼你需要在這裏輔助方法?在你的問題中簡單地使用html? – Shyju

+0

@Shyju我正在努力使一切順利。如果這不能完成就好了。如果它指出,我會讓我的代碼審查人員知道這一點。 – Luke101

+0

您需要擴展'@ Html.ActionLink'的原因是什麼?我認爲你錯誤地用'hash「標識了'#'符號,這是做錨鏈接的標誌。當然,你不需要使用'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或任何其他幫手。