在OnRowDataBound或OnItemDataBound事件中獲取字段值

無論是在GridView,DataList仍是Repeater控件中,其中Repeater控件,沒有DataKeyNames或是DataKeyField屬性,想獲取記錄的主鍵值,只好用Label或是HiddenField綁定主鍵字段,而後在後臺OnItemDataBound獲取。
雖然GridView和DataList控件有DataKeyNames和DataKeyField屬性,或是某時候程序需求,一些非主鍵字段須要進一步函數處理而須要獲取這些字段。

現Insus.NET教你們幾種方法,在OnRowDataBound或是OnItemDataBound事件獲取主鍵值或是字段值。若是是GridView控件或是DataList控件,須要設置屬性DataKeyNames和DataKeyField,而Repeater控件,只能使用HiddenField控件了。函數


先來看看GridView控件spa

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" OnRowDataBound="GridView1_RowDataBound">
                <Columns>
                    <asp:TemplateField>
                        <ItemTemplate>
                            <asp:Label ID="LabelName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>


去.aspx.cs網頁,寫GridView1_RowDataBound事件。
3d


固然想在OnRowDataBound獲取主鍵時,不用設置DataKeyNames屬性,也能夠跟獲取其它字段同樣獲取獲得,下面是第二種方法:



第三種方法:code

 

 

下面是DataList控件演示,server

<asp:DataList ID="DataList1" runat="server" DataKeyField="ID" OnItemDataBound="DataList1_ItemDataBound">
                <ItemTemplate>
                     <asp:Label ID="LabelName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
                </ItemTemplate>               
            </asp:DataList>


第一種:


第二種方法:



第三種方法:


blog


下面是Repeater控件在OnItemDataBound事件中,獲取字段值。事件

 <asp:Repeater ID="Repeater1" runat="server" OnItemDataBound="Repeater1_ItemDataBound">
                <HeaderTemplate>
                    <table cellpadding="3" cellspacing="0" style="border: 1px solid #808080; border-collapse: collapse; width: 500px;">
                        <tr>
                            <td style="border: 1px solid #808080;">主鍵
                            </td>  
                               <td style="border: 1px solid #808080;">Name
                            </td>                        
                        </tr>
                </HeaderTemplate>
                <ItemTemplate>
                    <tr>
                        <td style="border: 1px solid #808080;">                                          
                            <%# Eval("ID") %>
                            <asp:HiddenField ID="HiddenField1" runat="server" Value='<%# Eval("ID") %>' />
                        </td>  
                             <td style="border: 1px solid #808080;">                                          
                            <asp:Label ID="LabelName" runat="server" Text='<%# Eval("Name") %>'></asp:Label>
                        </td>                  
                    </tr>
                </ItemTemplate>
                <FooterTemplate>
                    </table>
                </FooterTemplate>
            </asp:Repeater>

 

第一種方法:
ci


第二種方法:



第三種方法:
get

相關文章
相關標籤/搜索