[英]How create Custom HTML Helper in Asp.Net MVC
我是MVC的新手,並嘗試以這種方式編寫示例html幫助器,這是我的html幫助器代碼。
namespace MvcPractise.Extension
{
public static class LabelHelper
{
public static string Label(this HtmlHelper helper, string target, string text)
{
return String.Format("<label for='{0}'>{1}</label>", target, text);
}
}
}
我在我看來如下使用它
@using MvcPractise.Extension.LabelHelper
@model MvcPractise.Models.EmployeeModel
在視圖的頂部,我像上面那樣聲明或引用名稱空間和類名稱
並像@Html.Label("firstName", "First Name:")
一樣使用它
但是當我調試代碼時,我的擴展方法沒有被執行。 我可以理解我在做錯事,但無法弄清楚。 所以請幫忙 謝謝
如果我是您,則不會將其命名為Html Helper的原始名稱。 我會嘗試類似的東西:
public static string CustomLabel(this HtmlHelper helper, string target, string text)
{
return String.Format("<label for='{0}'>{1}</label>", target, text);
}
在此之后,僅包含名稱空間(而不是類的完整路徑)作為示例:
@using MvcPractise.Extension
作為擴展方法,在Html
屬性上使用它:
@Html.CustomLabel("firstName", "First Name:")
@Html.Label
是內置的幫助程序,您需要嘗試其他名稱,例如@Html.LabelEx
將擴展方法重命名為標准庫中沒有的內容! 它應該工作!
請嘗試以下操作,這可能是由於Label
的模糊性造成的,並且您使用的是Html
helper的標簽,而不是custom
helper的標簽
@using MvcPractise.Extension
@LabelHelper.LabelCustom("firstName", "First Name:")
您的擴展方法:
public static string LabelCustom(string target, string text)
{
return String.Format("<label for='{0}'>{1}</label>", target, text);
}
嘗試這個:
public static string Label(string target, string text)
{
return String.Format("<label for='{0}'>{1}</label>", target, text);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.