ASP.net GridView - 在BoundField的HeaderText属性中使用If-Statement

时间:2010-08-26 12:33:58

标签: asp.net gridview header if-statement

我可以这样做:

    <asp:BoundField DataField="Field1" 
HeaderText='<% IF(Eval("Field2").ToString().SubString(3,4).Equals("Text3"),"Text1","Text2") %>'
SortExpression="Field1" />

当Field2 = Text3和Text2的第4至第7个字符时,目标是将Field1的标题设为Text1吗?

我尝试过它只是把''&lt;%IF(Eval(“Field2”)。ToString()。SubString(3,4).Equals(“Text3”),“Text1”,“Text2”) %&gt;'“作为实际的标题字符串!

提前致谢!

1 个答案:

答案 0 :(得分:2)

Eval()语句仅在数据绑定上下文中有意义。如果您使用数据绑定语法(<%# /*...*/ %>),您会发现,标题文本不提供数据绑定上下文。毕竟,对于零到多行只有一个标题。

您可以从代码隐藏中强制设置标题文本:

myGrid.Columns[columnIndex].HeaderText = //...