6

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

SelectList(Parts, "pno", "pcode"+"pname")

在哪里

pno是部件号。

pcode是部分代码。

pname是零件名称

现在请告诉我如何在不使用 viewmodel 的情况下连接部分代码和名称(我想使用域模型来完成)。

4

2 回答 2

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 的堆栈溢出答案是我最喜欢的方法。

如何在 SelectList 文本描述中组合两个字段?

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

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 ")

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

于 2013-01-25T19:19:23.870 回答
4

我不确定这是否会有所帮助。从 ac# 的角度来看,您可以像这样构造您的类

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

    public string PartName { get; set; }

    public string PartNo
    {
        get
        {
            return PartCode + PartName;
        }
        set;
    }
}

然后使用选择列表之类的。

SelectList(Parts, "PartNo")
于 2013-01-25T19:20:55.633 回答