Gridview ItemTemplate 中多个 Eval 字段的最佳技术?
-
09-06-2019 - |
题
在 GridView ItemTemplate 中使用多个 EVAL 字段的最佳方法是什么?
希望对外观格式以及设置超链接/javascript 等有一些控制。
解决方案
IMO 更清楚的是:
<%# String.Format("{0} - {1}", Eval("Name1"), Eval("Name2")) %>
其他提示
我以前用过这个(我知道不好):
<%# Eval("Name1", "{0} - ")%> <%#Eval("Name2")%>
结果 = '约翰 - 史密斯'
但刚刚发现我还可以将两个(或更多)Evals 放在同一个数据绑定组中:
<%#Eval("Name1") & " - " & Eval("Name2")%>
结果 = '约翰 - 史密斯'
或者
<%# "First Name - " & Eval("Name1") & ", Last Name - " & Eval("Name2")%>
结果 = '名字 - 约翰,姓氏 - 史密斯'
Eval 和 Bind 都很糟糕。
为什么要通过反射来获取属性呢?您可以像这样直接访问它:
((MyObject)Container.DataItem).MyProperty
这并不是说该对象在运行时对您来说是未知的。无论如何,这是我的两分钱。
我有一个最简单的方法来做同样的事情......
<asp:Label ID="lblName" runat="server" Text='<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>'></asp:Label>
.
<%#Eval("FirstName").ToString() +", "+ Eval("LastName").ToString() %>
这里两个对象都被转换为字符串并将它们连接起来。
不隶属于 StackOverflow