簡體   English   中英

從gridview中的文本框獲取價值

[英]Getting value from textbox in gridview

我有一個GridView,我在上面綁定2個文本框和一個更新按鈕。 網格視圖是動態的,因此行數可以根據數據集的大小而變化。 現在我想要的是當我在此文本框中更改值並單擊更新時,數據庫中該行的數據應被更新。 數據庫中的文本框值應更新。

這是我的代碼:

<asp:GridView ID="dgAbstractSummary" runat="server" AutoGenerateColumns="False"                                 OnRowDataBound="dgAbstractSummary_RowDataBound" OnRowCreated="dgAbstractSummary_RowCreated"
                                Visible="true">
                                <Columns>
                                    <asp:BoundField HeaderText="ID" DataField="id"  HtmlEncode="false"></asp:BoundField>
                                    <asp:BoundField HeaderText="Abstract Title" DataField="title" HtmlEncode="false"></asp:BoundField>
                                    <asp:TemplateField HeaderText="Significance Score">
                                        <ItemTemplate>
                                            <asp:TextBox ID="txtSignificanceScore" AutoPostBack="true" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"significanceScore")%>'></asp:TextBox>                                                
                                            <div class="voffset3"></div>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                     <asp:TemplateField HeaderText="Innovation Score">
                                        <ItemTemplate>
                                            <asp:TextBox ID="txtInnovationScore" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"innovationScore")%>'></asp:TextBox>                                                
                                            <div class="voffset3"></div>
                                        </ItemTemplate>
                                    </asp:TemplateField>
                                   <asp:TemplateField HeaderText="">
                                        <ItemTemplate>
                                           <asp:Button AutoPostBack="true" CssClass="btn btn-primary btn-embossed" ID="btnUpdate" runat="server"
                                                                   Text="Update"
                                                                   OnClick="btnUpdate_Click" CommandArgument='<%#Eval("Id") %>' />
                                                                <div class="voffset3"></div>
                                        </ItemTemplate>
                                        </asp:TemplateField>
                                </Columns>
                                <HeaderStyle CssClass="panel-default"></HeaderStyle>
                                <RowStyle CssClass=""></RowStyle>
  </asp:GridView>

C#

   dgAbstractSummary.DataSource = dsResult; // dataset contains values which I am binding to grid columns
   dgAbstractSummary.DataBind();

    protected void btnUpdate_Click(object sender, EventArgs e)
    {
        Button myUpdateButton = (Button)sender;                       
    }

在此,Id(第一列)是每一行的唯一鍵。

使用查找控件功能通過按鈕sender事件在網格視圖行上找到兩個文本框。

這樣的事情。

Button btn = (Button)sender;   
GridViewRow gvr = (GridViewRow)btn.NamingContainer;
TextBox details = gvr.FindControl("detailsText") as TextBox;
//do something with details 
TextBox cusID = gvr.FindControl("TextBox2") as TextBox;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM