我的理解是,通过将 ScaffoldColumn(false)注释添加到类中的属性,该属性在执行“添加视图”时不会添加到视图中。然而,即使我已将 scaffoldcolumn false 添加到我不想添加到“创建”表单的属性中,它们仍然会在创建视图中呈现。 ScaffoldColumn 是否已损坏?在Freeman和Sanderson的Pro ASP.NET MVC 3 Framework中的第552页,它声明了
“如果我们想从生成的HTML中排除属性,我们可以使用 ScaffoldColumn属性。当脚手架帮手看到了 ScaffoldColumn属性,他们完全跳过该属性;没有 将生成隐藏的输入元素,并且没有此细节 属性将包含在生成的HTML中。“
另外,第77页的MVC音乐商店PDF表示attrtibute也会这样做 -
“允许从编辑器表单隐藏字段”。
他们将其添加到AlbumId属性,然后当应用程序运行时,AlbumId字段未显示在浏览器中。
这个attr坏了吗?
如果我将html帮助器更改为DisplayFor,则无论是否存在scaffoldcolumn,它都不会出现在窗体中。例如,我没有在Property PostTitle上使用scaffoldcolumn false,但是如果我将@Html.EditorFor(Function(model) model.PostTitle)
更改为displayfor
,那么无论scaffoldcolumn attr是什么,它都不会呈现。
我的创建视图也强烈输入@ModelType RiderDesignMvcBlog.Core.Entities.Post
答案 0 :(得分:2)
在asp.net论坛上收到了这个答案:
该陈述不正确。该属性由Dynamic识别 数据,但不是MVC 3脚手架。我三月份问过这件事 今年,我得到了创建该组织的团队的回复 MvcScafolding Nuget包:
是的,那个特定的元数据位不被它识别 MvcScaffolding T4模板。有很多可能的元数据,和 我们有很多代码来识别和回应所有代码 交换它以防止保持T4模板足够简单 人们可以理解和定制它们,而不是被淹没 所有的逻辑。我不认为MVC 3内置了Add View模板 也回应那个。