0

所以我在 VS 2013 中一直在玩 MVC 网站。我对 MVC 的概念很陌生,我正试图围绕它来思考。我一直在关注这个教程

我想在这里具体理解的是 - 是否可以根据分配给模型中属性的属性来动态更新视图。以以下为例:

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

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

}

不,在这个类中,我们有 2 个属性 UserName 和 Fullname。两者都标有必需,并且设置了显示属性。

这是视图。

<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 个位置?

感谢您的想法!

4

2 回答 2

0

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

您要查找的术语是Scaffolding。有一个不太受支持的项目,叫做MvcScaffolding,但是在 .NET 中搭建脚手架的真正意义是ASP.NET Dynamic Data,我建议你看看如果你只是需要一个非常快速的 CRUD UI 和不要太在意它的外观。

于 2013-11-09T21:26:04.383 回答
0

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

于 2013-11-09T21:34:51.257 回答