Asp.net mvc asp.net mvc和linq到实体:如何包含IEnumerable中的文本值<;选择列表项>;
我有一个在一个字段上有约束的表-它可以是1、2或3。(正确的解决方案可能是为此创建一个查找表,但目前我想知道是否可以在没有查找表的情况下执行此操作。) 我创建了一个类,该类为值返回IEnumerable。我正在使用LINQ to实体,并且希望在列出所有实体时能够在列中显示文本值 创建/编辑的代码如下所示: Controller.cs:Asp.net mvc asp.net mvc和linq到实体:如何包含IEnumerable中的文本值<;选择列表项>;,asp.net-mvc,linq-to-entities,Asp.net Mvc,Linq To Entities,我有一个在一个字段上有约束的表-它可以是1、2或3。(正确的解决方案可能是为此创建一个查找表,但目前我想知道是否可以在没有查找表的情况下执行此操作。) 我创建了一个类,该类为值返回IEnumerable。我正在使用LINQ to实体,并且希望在列出所有实体时能够在列中显示文本值 创建/编辑的代码如下所示: Controller.cs: ViewData["Message_Types"] = MessageTypes.MessageTypeList; edit.aspx: <%
ViewData["Message_Types"] = MessageTypes.MessageTypeList;
edit.aspx:
<%= Html.DropDownList("Message_Type",(IEnumerable<SelectListItem>)ViewData["Message_Types"]) %>
但是,我希望如何显示文本值而不是数字值:
index.aspx:
<td>
<%= Html.Encode(item.Message_Type) %>
</td>
如何获取与item.Message_类型对应的元素的文本值
更新:
消息类型如下所示:
public static IEnumerable<SelectListItem> MessageTypeList
{
get
{
return new[] {
new SelectListItem{ Text = "Text Value 1", Value="1" },
new SelectListItem{ Text = "Text Value 2", Value="2" },
new SelectListItem{ Text = "Text Value 3", Value="3" }
};
}
}
公共静态IEnumerable MessageTypeList
{
得到
{
返回新的[]{
新建SelectListItem{Text=“Text Value 1”,Value=“1”},
新建SelectListItem{Text=“Text Value 2”,Value=“2”},
新建SelectListItem{Text=“Text Value 3”,Value=“3”}
};
}
}
Enum.GetName(typeof(MessageTypes),item.Message\u Type)Enum.GetName(typeof(MessageTypes),item.Message\u Type)这似乎有效-不确定这是不是最好的解决方案
而不是:
<td>
<%= Html.Encode(item.Message_Type) %>
</td>
我从以下位置获取文本值:
<td>
<%= Html.Encode(MessageTypes.MessageTypeList.Single(foo => foo.Value == item.Message_Type.ToString()).Text)%>
</td>
foo.Value==item.Message_Type.ToString()).Text)%>
这似乎有效-但不确定这是否是最佳解决方案
而不是:
<td>
<%= Html.Encode(item.Message_Type) %>
</td>
我从以下位置获取文本值:
<td>
<%= Html.Encode(MessageTypes.MessageTypeList.Single(foo => foo.Value == item.Message_Type.ToString()).Text)%>
</td>
foo.Value==item.Message_Type.ToString()).Text)%>
抱歉,标题有点误导-我更新了它,表明我实际上是在试图从IEnumerable而不是枚举中获取值。抱歉,标题有点误导-我更新了它,表明我实际上是在试图从IEnumerable而不是枚举中获取值。什么文本元素?给我们这个文本元素的例子。什么文本元素?请给出这个文本元素的示例。