Asp.net mvc 在selectlistitem-MVC中显示多列

Asp.net mvc 在selectlistitem-MVC中显示多列,asp.net-mvc,selectlistitem,Asp.net Mvc,Selectlistitem,模型 Razor视图以显示列表框 private void CartChoices(cartVM model) { model.CartChoices = db.Products.Select(m => new SelectListItem { Value = ((int)m.ProductId).ToString(), Text = m.productName }); } @Html.ListBoxFor(m=>m.select

模型

Razor视图以显示列表框

private void CartChoices(cartVM model)
{
    model.CartChoices = db.Products.Select(m => new SelectListItem
    {
        Value = ((int)m.ProductId).ToString(),
        Text = m.productName
    });
}

@Html.ListBoxFor(m=>m.selectedProductId,Model.CartChoices)

您希望显示模型的哪些属性?(它只需要是
Value=m.ProductId.ToString(),
)Prductname、description等。但selectlist项只有一个值和文本项目,因此无法添加其他项…它表示属性的重复初始化
text=m.productName+“”+m.someOtherProperty
等。但不清楚您为什么要这样做。这样我可以在列表框中显示数据(我将使用jquery listbox t显示图像等),我认为您的评论将解决我的问题。我将在几个小时后检查并让您知道,如果您使用jquery插件,我怀疑它是否能解决任何问题。还有什么jquery插件?
public class cartVM
{
    public int id { get; set; }
    public int productId { get; set; }
    public int userId { get; set; }
    public int messageId { get; set; }
    public DateTime AddDate { get; set; }
    public virtual List<Product> Product{ get; set; }
    public List<int> SelectedProductIds { get; set; }
    public IEnumerable<SelectListItem> CartChoices { get; set; }
}
private void CartChoices(cartVM model)
{
    model.CartChoices = db.Products.Select(m => new SelectListItem
    {
        Value = ((int)m.ProductId).ToString(),
        Text = m.productName
    });
}
<div>
    @Html.ListBoxFor(m => m.SelectedProductIds , Model.CartChoices)
</div>