创建模板和编辑模板的MVC模板需要不同吗?

时间:2010-04-16 20:18:47

标签: .net asp.net-mvc

我找到了基于对象名称(即DateTime,MyCustomObject)的编辑器和详细信息模板的信息,以便与MVC系统一起使用。我只是想知道在以类似的方式创建项目时是否可以创建模板,其中用于创建项目的表单将与编辑屏幕不同。

1 个答案:

答案 0 :(得分:1)

是的,您可以告诉MVC以不同的方式区分模板。

您可以告诉视图要使用的模板。

<%= Html.EditorFor(model => model.MyCustomObject, "MyCustomObjectCreate") %>

VS

<%= Html.EditorFor(model => model.MyCustomObject, "MyCustomObjectEdit") %>

或者,如果您使用的是视图模型,则可以使用数据注释告诉它在模型中使用的模板。

因此,您的编辑视图模型将如下所示:

public class MyCustomObjectEditViewModel
{
    [UIHint("MyCustomObjectEdit")]
    MyCustomObject CustomObject { get; set; }
}

,您的创建视图模型将如下所示:

public class MyCustomObjectCreateViewModel
{
    [UIHint("MyCustomObjectCreate")]
    MyCustomObject CustomObject { get; set; }
}