我正在尝试在dropdownlist
文字中显示多个值。下面举例说明。
SelectList(Parts, "pno", "pcode"+"pname")
,其中
pno
是部件号。
pcode
是部分代码。
pname
是部件名称
现在请告诉我如何使用viewmodel连接部分代码和名称(我想使用域模型来实现)。
答案 0 :(得分:8)
根据microsoft文档,SelectList(IEnumerable,String,String)通过使用列表,数据值字段和数据文本字段的指定项来初始化SelectList类的新实例。
http://msdn.microsoft.com/en-us/library/system.web.mvc.selectlist%28v=vs.108%29.aspx
为此,您需要将名称连接到模型上的新属性。下面的堆栈溢出答案有8个ups是我最喜欢的方法。
How can I combine two fields in a SelectList text description?
在你的情况下,它看起来像这样......
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 ")
编辑:在代码中添加了澄清。
答案 1 :(得分:3)
我不确定这是否会有所帮助。在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")