System.Web.Mvc.HtmlHelper' tidak mengandung definisi untuk 'ActionLink'
Saya ingin menggunakan @Html.ActionLink khusus
Saya mencoba menggunakan kode berikut: -
public static class LinkExtensions
{
public static MvcHtmlString MyActionLink(
this HtmlHelper htmlHelper,
string linkText,
string action,
string controller)
{
var currentAction = htmlHelper.ViewContext.RouteData.GetRequiredString("action");
var currentController = mlHelper.ViewContext.RouteData.GetRequiredString("controller");
if (action == currentAction && controller == currentController)
{
var anchor = new TagBuilder("a");
anchor.Attributes["href"] = "#";
anchor.AddCssClass("currentPageCSS");
anchor.SetInnerText(linkText);
return MvcHtmlString.Create(anchor.ToString());
}
return htmlHelper.ActionLink(linkText, action, controller);
}
}
Dari https://stackoverflow.com/questions/5084635/custom-actionlink-helper-that-knows-what-page-youre-on
Tapi saya mendapatkan
System.Web.Mvc.HtmlHelper' tidak mengandung definisi untuk 'ActionLink' dan tidak ada metode ekstensi 'ActionLink' yang menerima argumen pertama pertama dari tipe 'System.Web.Mvc.HtmlHelper' dapat ditemukan (apakah Anda Anda kehilangan petunjuk penggunaan atau referensi assembly?
26
3
Tambahkan ini
menggunakan System.Web.Mvc.Html;
di atas file AndaPastikan namespace untuk kelas ekstensi Anda disertakan dalam web.config Anda. Sebagai contoh:
Di situs Anda Web.config dan/atau Web.config yang terletak di folder "Views" Anda:
Jika tidak, sertakan blok "using" untuk namespace di bagian atas halaman tampilan Anda dapat bekerja tetapi untuk namespace umum saya akan melakukan hal di atas.
ASPX:
RAZOR:
Pastikan bahwa Anda memiliki penggunaan berikut dalam file kelas Anda:
Ini diperlukan karena kelas
HtmlHelper
terletak di namespaceSystem.Web.Mvc
tetapi metode ekstensiActionLink
terletak di namespaceSystem.Web.Mvc.Html
.