如何使用 EditorFor 在一个字段中使用多个属性?

How can I use multi properties in one field using EditorFor?

我有一个 Customer class:

public class Customer 
{
    public int Id { get; set; }
    public string Name { get; set; }
    string Surname { get; set; }
}

如何使用 Html.EditoFor 一个字段 中同时使用 NameSurname

@Html.EditorFor(model => model.Customer.Name + Surename???? , new { htmlAttributes = new { @class = "form-control" } })

您可以尝试将 NameWithSurname 属性 添加到连接的 NameSurname 值。

public class Customer
{
    public int Id { get; set; }
    public string Name { get; set; }
    public string Surname { get; set; }

    private string _NameWithSurname;

    public string NameWithSurname
    {
        get
        {
            _NameWithSurname = Name + Surname;
            return _NameWithSurname;
        }
        set {
            _NameWithSurname = value;
        }
    }
}
@Html.EditorFor(model => model.Customer.NameWithSurname  , new { htmlAttributes = new { @class = "form-control" } })

注意

你的Surname属性可能是public,否则只能用在Customerclass.

您应该拆分或合并名称 - 不要尝试两者都做。

假设您 有一个 "full name" 文本框,值被编辑,用户键入 Billy Bob Thornton。那么它如何知道如何拆分回名字和姓氏字段?

您需要使用单独的文本框和属性,或者使用一个 "name" 属性 和一个文本框。

显示数据的时候合并名字没问题,编辑的时候就麻烦多了。