在发布此问题之前,我使用他的参数为EditorForModel进行了搜索。可以用他的参数为EditorForModel提供一个例子吗?
我看过Why not use Html.EditorForModel()和这个blog。
我没有找到我需要的相关文章。
可以给我一个带参数的EditorForModel的例子吗?
感谢您
在发布此问题之前,我使用他的参数为EditorForModel进行了搜索。可以用他的参数为EditorForModel提供一个例子吗?
我看过Why not use Html.EditorForModel()和这个blog。
我没有找到我需要的相关文章。
可以给我一个带参数的EditorForModel的例子吗?
感谢您
有此帮手6 overloads:
@Html.EditorForModel()
呈现~/Views/Shared/EditorTemplates/TypeName.cshtml
模板,其中TypeName
是您的视图模型的确切类型的名称。如果您的视图模型是一个集合(即IEnumerable<TypeName>
,IList<TypeName>
,TypeName[]
,...),ASP.NET MVC将自动为该集合的每个元素渲染相应的编辑器模板。您不需要在视图中编写任何循环来实现这一点。它由框架为您处理。
@Html.EditorForModel("templatename")
呈现的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠常规
@Html.EditorForModel(new { Foo = "bar" })
渲染默认编辑模板,但附加视点数据传递给它,你可以用ViewData["foo"]
或ViewBag.Foo
内使用
@Html.EditorForModel("templatename", new { Foo = "bar" })
呈现的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠惯例和附加视图数据传递给它,你可以用ViewData["foo"]
或ViewBag.Foo
@Html.EditorForModel("templatename", "fieldprefix")
内使用渲染的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠惯例和修改这意味着,例如,如果您在此模板中拨打@Html.TextBoxFor(x => x.FooBar)
,您将获得name="fieldprefix.FooBar"
而不是name="FooBar"
@Html.EditorForModel("templatename", "fieldprefix", new { Foo = "bar" })
呈现的~/Views/Shared/EditorTemplates/templatename.cshtml
不是依靠惯例和修改导航背景下,这个模板中,这意味着,例如,如果你有这个模板内的@Html.TextBoxFor(x => x.FooBar)
电话,你会得到name="fieldprefix.FooBar"
,而不是name="FooBar"
。它还传递了一个附加视图数据给它,你可以用ViewData["foo"]
或ViewBag.Foo
备注内使用:模板系统将首先查找在~/Views/XXX/EditorTemplates
模板,其中XXX是为这个视图和控制器的名称如果它没有发现它会查看~/Views/Shared/EditorTemplates
。这可以允许更精细地调整模板。您可以在共享文件夹中拥有默认模板,可以根据每个控制器重写该模板。