我正在使用Asp.net动态数据创建一个Web应用程序。我正在使用GridView来显示数据库中的数据。
在网格视图中,我有以下代码列
<Columns>
<asp:DynamicField DataField="UserId" UIHint="Label" />
<asp:DynamicField DataField="Address" UIHint="Address"/>
<asp:DynamicField DataField="CreatedDate" UIHint="Label" />
</Columns>
但是,在显示之前我想在每行的C#代码中进行一些处理。在普通的ASP.net网格视图中我们可以处理OnRowDataBound方法,并且使用FindControl(“controlid”)我们可以得到控件实例,但是在动态数据的情况下,我没有得到列的任何id属性,所以我不能获取控件实例以根据某些条件显示该控件中的更新数据。
谢谢, 阿什瓦尼
答案 0 :(得分:1)
尝试使用TemplateField而不是DynamicField:http://msdn.microsoft.com/en-us/library/bb288032.aspx
如何使用的示例:
<asp:Templatefield headertext="Author Name">
<Itemtemplate>
<asp:label id="FirstNameLabel"
Text= '<%# Eval("au_fname") %>'
runat="server"/>
<asp:label id="LastNameLabel"
Text= '<%# Eval("au_lname") %>'
runat="server"/>
</Itemtemplate>
</asp:Templatefield>
以下是您可以选择的选项:
<asp:TemplateField
AccessibleHeaderText="string"
ConvertEmptyStringToNull="True|False"
FooterText="string"
HeaderImageUrl="uri"
HeaderText="string"
InsertVisible="True|False"
ShowHeader="True|False"
SortExpression="string"
Visible="True|False">
<ControlStyle />
<FooterStyle />
<HeaderStyle />
<ItemStyle />
<AlternatingItemTemplate>
<!-- child controls -->
</AlternatingItemTemplate>
<EditItemTemplate>
<!-- child controls -->
</EditItemTemplate>
<FooterTemplate>
<!-- child controls -->
</FooterTemplate>
<HeaderTemplate>
<!-- child controls -->
</HeaderTemplate>
<InsertItemTemplate>
<!-- child controls -->
</InsertItemTemplate>
<ItemTemplate>
<!-- child controls -->
</ItemTemplate>
</asp:TemplateField>