基本types的ASP.NET MVC 4编辑器模板
我已经创build了一个数字input模板,如果我这样做
@Html.EditorFor(model => model.SomeValue, "Number")
它工作正常,模板使用。
但是,这是行不通的:
@Html.EditorFor(model => model.SomeValue)
为什么我需要为基本types指定编辑器模板的名称?
编辑器模板按照惯例工作。 模板的名称必须与types的名称相匹配。 例如,如果SomeValue
是一个int
types,你可以在~/Views/Shared/EditorTemplates/Int32.cshtml
上写一个自定义的编辑器模板,它将被使用。 在这种情况下,当您编写@Html.EditorFor(model => model.SomeValue)
时,所有整数types将使用此自定义模板。
如果你不想覆盖整个types的所有模板,你可以写一个特定的命名模板~/Views/Shared/EditorTemplates/Number.cshtml
,你可以通过指定这个模板名作为编辑器的第二个参数帮手: @Html.EditorFor(model => model.SomeValue, "Number")
或者用[UIHint]
属性装饰视图模型属性:
[UIHint("Number")] public int SomeValue { get; set; }
然后简单地使用@Html.EditorFor(model => model.SomeValue)
将呈现Number.cshtml
自定义模板。
我还build议您阅读Brad Wilson的blog post
了解ASP.NET MVC中的默认模板。
在您的编辑器模板中,您必须具有相同的types示例:
model.SomeValue是loremIpsumObject的types
在你的EditorTemplate中:
@model YourNamespaceWhereIsYourClass.loremIpsumObject ...And your code in your editorTemplate....
你可以在这里find一个datetime的例子
它可以帮助你?
- 在定制授权MVC4 Web Api中访问post或get参数
- 无法加载文件或程序集System.Net.Http,版本= 4.0.0.0与ASP.NET(MVC 4)Web API OData预发行
- 为什么我的样式包在ASP.NET MVC 4中不能正确呈现?
- MVC @RenderSection“部分已被定义,但尚未呈现”脚本。 当多层次的页面
- 我在哪里可以findUpshot.js的例子和文档?
- 使用.NET 4.0任务模式将JSON反序列化为使用HTTPClient .ReadAsAsync的数组或列表
- ASP.NET MVC4与Twitter Bootstrap捆绑
- 返回Mvc.JsonResult并设置Response.StatusCode
- 如何使用D3.js将图像添加到svg容器