为什么<scaffoldcolumn(false)>不起作用?</scaffoldcolumn(false)>

时间:2011-10-02 13:40:48

标签: vb.net asp.net-mvc-3 scaffolding

我的理解是,通过将 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

1 个答案:

答案 0 :(得分:2)

在asp.net论坛上收到了这个答案:

  

该陈述不正确。该属性由Dynamic识别   数据,但不是MVC 3脚手架。我三月份问过这件事   今年,我得到了创建该组织的团队的回复   MvcScafolding Nuget包:

     

是的,那个特定的元数据位不被它识别   MvcScaffolding T4模板。有很多可能的元数据,和   我们有很多代码来识别和回应所有代码   交换它以防止保持T4模板足够简单   人们可以理解和定制它们,而不是被淹没   所有的逻辑。我不认为MVC 3内置了Add View模板   也回应那个。