2013-11-09 96 views
0

所以我一直在玩VS 2013中的MVC网站。我对MVC的概念很陌生,并且试图围绕它来包围我的头。我一直在关注this turtorial基于模型自动更新视图

我在这里特别想了解的是 - 是否有可能根据分配给模型中属性的属性动态更新视图。以下例如:

public class ExternalLoginConfirmationViewModel 
{ 
    [Required] 
    [Display(Name = "User name")] 
    public string UserName { get; set; } 

    [Required] 
    [Display(Name = "Full Name")] 
    public string Fullname { get; set; } 

} 

在这个类没有我们有2个属性用户名和全名。两者都被标记为必需,并且它们具有设置的显示属性。

这里是视图。

<li> @Html.LabelFor(m => m.FullName) @Html.TextBoxFor(m => m.FullName) </li> <li> @Html.LabelFor(m => m.UserName) @Html.TextBoxFor(m => m.UserName) </li>

因此,它是可以使用的模特属性的属性自动神奇地创建视图,以便我不必每次更新3个位置我改变模型?

谢谢你的想法!

回答

0

不,ASP.NET MVC不会这样做。它适用于需要高度自定义视图的应用程序。

您正在寻找的术语是Scaffolding。有一个不是很好支持的项目叫做MvcScaffolding,但是在.NET中脚手架的真实交易是ASP.NET Dynamic Data,我建议你看看如果你只需要将一个非常快的CRUD用户界面放在一起并且不关心所有这些都看起来如此。

0

如果更改模型的公共接口,则必须在使用该代码的任何地方更正代码。因此,如果您决定将公共属性FullName重命名为CompleteName您将更新您的代码,否则将无法编译。如果代码嵌入在视图中,它将会生成但在运行时崩溃。