背景
在我们最后的冒险,我试图正确地展示Dictionary<Foo, Bar<T>>
。感谢那篇文章中有用的答案,我意识到我一直在以错误的方式处理这件事。
Problem
在今天的冒险中,我一直在尝试从List<T>
在要显示的最后一个问题中。每个列表都有特定的属性,如下所示:
---------------------
| Bar Class |
---------------------
| Id int |
| Foo.Id int |
| Name string |
| Type string |
---------------------
为了显示,我想显示Bar.Name + Bar.Type
,连接在一起。显然我必须保留完整的对象,因为 Id 将被传回发送到数据库。
起初,我尝试过<%#Eval("Value.Type" + "Value.Name")%>
,显然这不起作用。我现在的猜测是我需要编写一个 foreach 循环来迭代字典对象,并检索Dictionary.Value
对象完好无损,并从中构建一个下拉列表。但是,问题就变成了将其与关联的配置文件联系起来,并将其批量发送回数据库。
目前页面的外观如下:
<tr><td align="center"> <%#Eval("Key.Name") %></td>
<td align="center"><asp:DropDownList ID="ddlListOfBars" runat="server"
DataSource='<%#Eval("Value")%>' DataValueField="Id" DataTextField="Type" />
</td>
我一直在尝试不同的方法来改变DataTextField
但尚未找到有效的组合。
问题
- 我是不是想太多了?
- 我缺少什么?
- 是否有资源告诉您如何从其中提取特定属性
List<T>
使用这些值作为显示值DropDownList
,如果是的话,是否有关于该主题的良好资源?
- 这篇文章是不是像泥一样清晰?
事实证明,如果将表中的两列连接成一列,问题就很容易解决,如下所示:
SELECT Column1Name + ' - ' + Column2Name AS Column3Name FROM Table1 WHERE
...
这就变成了这样:
Column1Name Column2Name
----------- -----------
Stuff1 Stuff5
Stuff2 Stuff6
Stuff3 Stuff7
Stuff4 Stuff8
进入这个:
Column3Name
---------------
Stuff1 - Stuff5
Stuff2 - Stuff6
Stuff3 - Stuff7
Stuff4 - Stuff8
当所有其他方法都失败时,请考虑较低的水平。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)