如何创建自定义 TexboxFor?

问题描述

我有一个仅插入数字并在其中添加逗号分隔符的文本框。

我在视图中使用此代码

  @Html.TextBoxFor(m => m.TurnratingCost,null,new { @class = "form-control",onkeyup= "javascript:this.value=Comma(this.value);",onkeydown = "return ValidateNumber(event);" })

没关系,但我想使用 htmlHelper 将其转换为自定义 TextBoxFor 。

解决方法

您只需要在 HtmlHelper 上创建一个扩展方法:

unsigned long long

然后在您的视图中,您可以将其用作:

public static class MyHtmlHelpers
{
    public static MvcHtmlString MyTextBoxFor<TModel,TProperty>(
         this HtmlHelper<TModel> helper,Expression<Func<TModel,TProperty>> expression)
    {
       // Your Custom code
    }
}

注意:不要忘记在视图中@Html.MyTextBoxFor(model => model.FirstName) @using 的命名空间