C# SelectList文本中有多个值

C# SelectList文本中有多个值,c#,asp.net-mvc-3,C#,Asp.net Mvc 3,我试图在dropdownlist文本中显示多个值。下面给出了一个例子 SelectList(Parts, "pno", "pcode"+"pname") 在哪里 pno是零件号 pcode是部件代码 pname是部件名 现在,请告诉我如何在不使用ViewModel的情况下连接部件代码和名称我想使用域模型 根据microsoft文档,SelectListIEnumerable、String、String通过使用列表、数据值字段和数据文本字段的指定项来初始化SelectList类的新实例 为此,您

我试图在dropdownlist文本中显示多个值。下面给出了一个例子

SelectList(Parts, "pno", "pcode"+"pname")
在哪里

pno是零件号

pcode是部件代码

pname是部件名


现在,请告诉我如何在不使用ViewModel的情况下连接部件代码和名称我想使用域模型

根据microsoft文档,SelectListIEnumerable、String、String通过使用列表、数据值字段和数据文本字段的指定项来初始化SelectList类的新实例

为此,您需要将名称连接到模型上的新属性中。下面的8个ups的堆栈溢出答案是我最喜欢的方法

在你的情况下,它看起来像这样

public class Model
{
    public string pcode { get; set; }
    public string pname { get; set; }
    public string ConcatDescription { get; set; }

    public string ConcatDescription 
    {
        get 
        {
            return string.Format("{0} {1}", pcode , pname );
        }
    }
}
然后你可以直接调用这个属性

SelectList(Parts, "pno", "ConcatDescription ")

编辑:添加到代码中以进行澄清。

我不确定这是否有帮助。从c的角度来看,您可以像

public class Parts
{
    public string PartCode { get; set; }

    public string PartName { get; set; }

    public string PartNo
    {
        get
        {
            return PartCode + PartName;
        }
        set;
    }
}
然后使用类似的选择列表

SelectList(Parts, "PartNo")

可以显示列表的查询吗?Parts.Wherep=>p.PartID==PartID.Value@Zeb ur Rehman这将来自您的域模型。我不知道它的名字。我上面提供的代码示例是我对域模型的解释