我正在使用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我正在努力使一切順利。如果這不能完成就好了。如果它指出,我會讓我的代碼審查人員知道這一點。 – Luke101
您需要擴展'@ Html.ActionLink'的原因是什麼?我認爲你錯誤地用'hash「標識了'#'符號,這是做錨鏈接的標誌。當然,你不需要使用'ActionLink'作爲錨點(鏈接指向同一頁面中的某個元素部分)。 –