2017-09-15 45 views
0

这个问题似乎只从我的模型,用户名 ...一个属性发生为什么我的id和name属性不总是与我的模型属性相同?

我的模型是

public class UserModel 
{ 
    public Guid Id { get; set; } 

    [Display(Name = "Firstname")] 
    public string FirstName { get; set; } 

    [Display(Name = "Surname")] 
    public string Surname { get; set; } 

    [Display(Name = "Email Address")] 
    public string EmailAddress { get; set; } 

    [Display(Name = "Username")] 
    public string UserName { get; set; } 

    [Display(Name = "Active")] 
    public bool Active { get; set; } 

    [Display(Name = "Active")] 
    public string ActiveAsText => Active ? "Active" : "Inactive"; 
} 

这里是我如何在我的网页来实现。

<input asp-for="UserName" type="text" class="form-control" placeholder="Enter the username..." required /> 

从逻辑上讲,并根据文档,我的id和name属性应该是我的属性名称,所以在这种情况下,用户名,但看ID,并将其命名为...

<input id="Username" name="Username" type="text" class="form-control ng-pristine ng-empty ng-invalid ng-invalid-required ng-touched" placeholder="Enter the username..." required="" value="" ng-model="pageModel.UserName" ng-class="isInputInvalid(form3E2F2153D9334BC08DFB3C68E16DF93D.UserName)"> 

任何人有任何想法为什么?

我知道我只能更改模型名称,等等等等,但它没有意义,为什么问题只发生在该模型属性但EmailAddress正常工作。

<input id="EmailAddress" name="EmailAddress" type="email" class="form-control ng-pristine ng-untouched ng-empty ng-valid-email ng-invalid ng-invalid-required form-control-danger" placeholder="Enter the email..." required="" value="" ng-model="pageModel.EmailAddress" ng-class="isInputInvalid(form3E2F2153D9334BC08DFB3C68E16DF93D.EmailAddress)"> 
+1

我不能在2.0重现此。你能设置一个示例项目吗? – Shoe

回答

0

显示属性对nameid HTML属性没有影响。它用于在HTML页面中很好地显示属性。例如:

public class UserModel 
{ 
    public Guid Id { get; set; } 

    [Display(Name = "Your name")] 
    public string FirstName { get; set; } 

    [Display(Name = "Lastname")] 
    public string Surname { get; set; } 

    [Display(Name = "E-mail address")] 
    public string EmailAddress { get; set; } 

    [Display(Name = "Username")] 
    public string UserName { get; set; } 

    [Display(Name = "Active")] 
    public bool Active { get; set; } 

    [Display(Name = "Active")] 
    public string ActiveAsText => Active ? "Active" : "Inactive"; 
} 

<table> 
    <tr> 
    <th>@Model.FirstName</th> 
    <th>@Model.Surname</th> 
    <th>@Model.EmailAddress</th> 
    ... 
    </tr> 
    ... 
</table> 

将呈现这样的:

<table> 
    <tr> 
    <th>Your name</th> 
    <th>Lastname</th> 
    <th>E-mail address</th> 
    ... 
    </tr> 
    ... 
</table> 
相关问题