Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 如何覆盖布局编辑器_Asp.net Mvc 3_Asp.net Mvc 2 - Fatal编程技术网

Asp.net mvc 3 如何覆盖布局编辑器

Asp.net mvc 3 如何覆盖布局编辑器,asp.net-mvc-3,asp.net-mvc-2,Asp.net Mvc 3,Asp.net Mvc 2,如何覆盖布局编辑器?例如,如果我想在编辑器字段之前或之后呈现一些文本。EditorFor是在HtmlHelper类上定义的扩展方法。如果你想覆盖它,你必须子类HtmlHelper。根据我们的观点,重写扩展方法是个坏主意。即使您决定这样做,您将如何使mvc使用子类HtmlHelper而不是默认的HtmlHelper。最好的办法是重载EditorFor方法,并在视图中使用它,而不是在默认视图中使用它 以下是在EditorFor前后添加一些文本的代码示例 步骤1:在模型类中用一个特定的数据类型定义字段

如何覆盖布局编辑器?例如,如果我想在编辑器字段之前或之后呈现一些文本。

EditorFor是在HtmlHelper类上定义的扩展方法。如果你想覆盖它,你必须子类HtmlHelper。根据我们的观点,重写扩展方法是个坏主意。即使您决定这样做,您将如何使mvc使用子类HtmlHelper而不是默认的HtmlHelper。最好的办法是重载EditorFor方法,并在视图中使用它,而不是在默认视图中使用它

以下是在EditorFor前后添加一些文本的代码示例

步骤1:在模型类中用一个特定的数据类型定义字段,该数据类型具有逻辑上的自定义名称,如SmallText、CustomName等。我在本例中只使用了MyTypeOfField

[Required(ErrorMessage = "Field_Value code is a required field.")]
    [MaxLength(100)]
    [Display(Name = "Field Display Name")]
    [DataType("MyTypeOfField")]
    public string MyField { get; set; }
步骤2:使用以下代码在文件夹:Views/Shared/EditorTemplates中创建mytypeofield.cshtml。如果EditorTemplates文件夹不存在,请创建它

@inherits System.Web.Mvc.WebViewPage<string>
@string.Format("{0, -10}","XXXXXXXXXX") @Html.TextBox("", "", new { style = "width:30px; text-align:right;" }) @string.Format("{0, -10}","1234567890")
希望这有帮助