Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何附加更多字段以选择列表项;“文本”;在MVC3中?_Asp.net Mvc_Asp.net Mvc 3_Linq_Linq To Sql_Linq To Entities - Fatal编程技术网

Asp.net mvc 如何附加更多字段以选择列表项;“文本”;在MVC3中?

Asp.net mvc 如何附加更多字段以选择列表项;“文本”;在MVC3中?,asp.net-mvc,asp.net-mvc-3,linq,linq-to-sql,linq-to-entities,Asp.net Mvc,Asp.net Mvc 3,Linq,Linq To Sql,Linq To Entities,我有: 我想将另一列的值附加到文本输出中,因此它类似于 ViewBag.StdLibraryId = new SelectList(db.StdLibrary, "Id", "Name",stdlibraryitem.StdLibraryId); 然而,显然上面的代码是错误的。此外,我倾向于在LINQ中使用Lambda表达式 代码应该是什么样子 非常感谢 编辑 我的新代码: ViewBag.StdLibraryId = new SelectList(db.StdLibrary, "Id", M

我有:

我想将另一列的值附加到文本输出中,因此它类似于

ViewBag.StdLibraryId = new SelectList(db.StdLibrary, "Id", "Name",stdlibraryitem.StdLibraryId);
然而,显然上面的代码是错误的。此外,我倾向于在LINQ中使用Lambda表达式

代码应该是什么样子

非常感谢

编辑

我的新代码:

ViewBag.StdLibraryId = new SelectList(db.StdLibrary, "Id", Model.Name + "(" + model.Category.Name + ")", stdlibraryitem.StdLibraryId);

您可以只使用一个匿名对象,在其中进行连接

            ViewBag.StdLibraryId = new SelectList(db.StdLibrary.Select(r=> new {Id = r.Id, Name= r.Name + "(" + r.StdSection.Name + ")"}), "Id", "Name", stdlibraryitem.StdLibraryId);

谢谢,请参阅编辑。我想我们在同一时间的思路是一样的!!但是我还有一个问题,如果类别为空,那么我在“名称”中什么也得不到。基本上我需要“如果类别为空,那么使用“”而不是类别值”排序=类别??"". 谢谢你的帮助。@SamJolly-Hmmm,而不是
Category==null?string.Empty:Category.Name
@SamJolly只是不一样。你用的是聚结算子,我用的是三元算子,在这里似乎更合适。。。
var stdLibraryForCombo = db.StdLibrary
                         .Select(m => new {
                            Id = m.Id,
                            Name = m.Name + " (" + m.Category.Name + ")"
                         });
ViewBag.StdLibraryId = new SelectList(stdLibraryForCombo, "Id", "Name", stdlibraryitem.StdLibraryId);