从MVC

时间:2015-05-11 15:21:28

标签: entity-framework asp.net-mvc-5

之前在我的控制器中使用此行返回id和text列,来自asp.net MVC中的存储过程

user = new SelectList(ctx.Database.SqlQuery<LkUpGenderModel>("EXEC dbo.uspGetLkUpGender").ToList(), "GenderID", "Gender");

但是我现在想要返回更多的文本值,我已经扩展了模型以获得这些额外的字段,但我收到了错误。

有没有办法让这个工作:

user = new SelectList(ctx.Database.SqlQuery<LkUpGenderModel>("EXEC dbo.uspGetLkUpGender").ToList(), "GenderID", "Gender", "GenderShort", "GenderCombined");

目前它标记了SelectList(说调用不明确

1 个答案:

答案 0 :(得分:1)

前面的代码只返回LkUpGenderModel的实例,然后使用该类的SelectList属性作为值并使用GenderID属性构建Gender。显示文字。

您的新代码不会请求更多属性,它只是将其他参数传递给SelectList构造函数:即dataGroupField,您设置为GenderShort属性,{ {1}},您将其设置为selectedValue属性。请参阅:https://msdn.microsoft.com/en-us/library/dn725507(v=vs.118).aspx

如果要从要在类上填写的存储过程返回其他列,则应该向该类添加其他属性以处理这些列。但是,由于您对数据所做的只是从中创建GenderCombined,因此除了值和显示文本之外,您无法向视图发送任何其他数据,从而使得在此实例中返回其他数据毫无意义。