小编Jam*_*mie的帖子

我为什么要在MVC中使用LabelFor?

我为什么要用LabelFor而不是<label>

例如.

@Html.LabelFor(model => model.FirstName)
@Html.DisplayFor(model => model.FirstName)
Run Code Online (Sandbox Code Playgroud)

VS

<label for="FirstName">First Name</label>
@Html.DisplayFor(model => model.FirstName)
Run Code Online (Sandbox Code Playgroud)

除此之外,@ pswg已涵盖此问题的DRY方面.我还想知道它是否有助于本地化.即.基于当前语言设置的不同标签.

asp.net-mvc html-helper html.labelfor

35
推荐指数
2
解决办法
4万
查看次数

转换T4模板

在Visual Studio中,菜单命令"Build"=>"转换所有T4模板"是做什么的?

t4 templates visual-studio

10
推荐指数
1
解决办法
5065
查看次数

可选属性中的MVC必需属性

我有两个实体:

public class ParentThing
{
    [Key]
    public int Id { get; set; }

    [Required]
    public ChildThing TheFirstThing { get; set; }

    public ChildThing TheSecondThing { get; set; }
}

public class ChildThing
{
    [Key]
    public int Id { get; set; }

    [Required]
    public string Code { get; set; }

    public string Name { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和视图模型:

public class ParentViewModel
{
    public string Message { get; set; }

    public ParentThing ParentThing { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

和一个观点:

@using (@Html.BeginForm()) …
Run Code Online (Sandbox Code Playgroud)

c# validation asp.net-mvc entity-framework required

6
推荐指数
1
解决办法
1668
查看次数

MVC:DRY vs WET

我被告知Asp.Net MVC中的DRY负责人非常重要.我也被告知,坚持这一点的部分不是在可能的情况下在ViewModel中重复实体属性属性,例如[Required]和[Display(Name ="Shuttle Name")].

我也被告知数据,业务和表示层之间的分离很重要.所以我想知道为什么像[Display]这样的属性在我的ProjectName.Entity项目中的实体上.我喜欢数据层没有表达层存在的气息的想法.我个人更喜欢在我的数据层中没有显示信息,并且没有数据实体直接映射到我的表示层中的控件.

例如.使用一个简单的ViewModel,它包含需要显示或编辑的任何属性的私有Shuttle实体属性和公共属性:

private readonly Shuttle shuttle;

public ShuttleViewModel() { this.shuttle = new Shuttle(); }

public ShuttleViewModel(Shuttle shuttle)
{
    this.shuttle = shuttle;
}

[Required]
[Display(Name = "Shuttle Name")]
public string ShuttleName
{
    get { return this.shuttle.Name; }
    set { shuttle.Name = value; } 
}        
Run Code Online (Sandbox Code Playgroud)

我意识到这可能是ViewModel中已经存在于Entity类中的重复属性并手动映射数据但是根据经验我发现它每次都有效.我还看到当复杂实体被超级映射到ViewModel时抛出的一些可怕的非直观异常.所以我会喜欢关于DRY和WET的一些反馈.

c# mapping asp.net-mvc entity-framework asp.net-mvc-4

0
推荐指数
1
解决办法
592
查看次数