Asp.net mvc 2 类型对象上的ScaffoldColumn属性
似乎可以在模型中将ScaffoldColumn属性设置为false来跳过视图中的成员Asp.net mvc 2 类型对象上的ScaffoldColumn属性,asp.net-mvc-2,scaffolding,Asp.net Mvc 2,Scaffolding,似乎可以在模型中将ScaffoldColumn属性设置为false来跳过视图中的成员 [ScaffoldColumn(false)] public object Id { get; set; } 但是在这里我看到Id是对象类型的。这是唯一的办法吗?我试过了 [ScaffoldColumn(false)] public int Id { get; set; } 但它不起作用。如何防止在基本类型(例如int、long等)上出现脚手架 编辑 我将我的模型定义为 public class Dep
[ScaffoldColumn(false)]
public object Id { get; set; }
但是在这里我看到Id是对象类型的。这是唯一的办法吗?我试过了
[ScaffoldColumn(false)]
public int Id { get; set; }
但它不起作用。如何防止在基本类型(例如int、long等)上出现脚手架
编辑
我将我的模型定义为
public class Department
{
[ScaffoldColumn(false)]
public int Id { get; set; }
[Required(ErrorMessage="Name is required")]
[StringLength(25)]
[DisplayName("Name")]
public string Name { get; set; }
public bool Active { get; set; }
}
我有一个控制器,它具有动作Create
。当我右键单击createaction并选择addview并用这个模型创建一个强类型视图时,它会创建一个视图,但也会为Id添加一个文本框
<%: Html.TextBoxFor(model => model.Id)%>
model.Id)%%>
我认为它不应该有
ScaffoldColumn
只会更改实际使用的方法,如Html.DisplayForModel()
。它不会影响MVC附带的Visual Studio向导
要改变这一点,您需要编辑T4模板
不过我不想麻烦了。如果您想在MVC2中使用脚手架,我认为使用默认模板化视图比使用“添加视图”脚手架更好,后者是代码生成。
ScaffoldColumn(false)
可以处理基本类型。你的问题在别处。@Craig有没有其他方法/我可以让它工作?ScaffoldColumn(false)
是正确的方法。正如我所说,您的问题在于您没有向我们展示的代码中。将其标记为它对Html.DisplayForModel()等方法有效这一事实的答案。但是,当它的类型设置为object时,无法了解它为什么会正常工作