如何在链接按钮单击中显示和隐藏gridview中的文本框

时间:2016-10-06 07:13:12

标签: asp.net gridview

我有gridview,它已经批准并拒绝了按钮。当点击拒绝按钮时,我需要显示文本框以备注其他没有。之后我将其保存在数据库中。如何做到这一点可以帮助我< / p>

这是我的代码:

 <asp:GridView ID="GridView1" runat="server" AllowPaging="True"  AutoGenerateColumns="False"  BackColor="White"
                  BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" 
                 GridLines="Horizontal" OnRowDataBound="GridView1_RowDataBound">
                 <Columns>
            <asp:TemplateField HeaderText="Industrial Zone">

                <ItemTemplate>
                     <asp:Label runat="server" ID="lblindzone" Text='<%# Eval("indzone") %>'></asp:Label>


                </ItemTemplate>


            </asp:TemplateField>

            <asp:TemplateField HeaderText="District">

                <ItemTemplate>
                     <asp:Label runat="server" ID="lbldstr" Text='<%# Eval("dstr")%>'></asp:Label>


                </ItemTemplate>

            </asp:TemplateField>
                      <asp:TemplateField HeaderText="Industrial Area">

                <ItemTemplate>
                      <asp:Label runat="server" ID="lblnmindar" Text='<%# Eval("nmindar")%>'></asp:Label>


                </ItemTemplate>

            </asp:TemplateField>
                      <asp:TemplateField HeaderText="Plot Number">

                <ItemTemplate>
                     <asp:Label runat="server" ID="lblplno" Text='<%# Eval("plno")%>'></asp:Label>


                </ItemTemplate>

            </asp:TemplateField>

           <asp:TemplateField HeaderText="Approve/Reject">

                <ItemTemplate>
                    <asp:LinkButton ID="lnkApproved" runat="server" Text="Approve" OnClick="lnkApproved_Click"><img src="images/approve.png"  style="width:20px;height:20px; margin:5px" title="Approve"/></asp:LinkButton>
                    <asp:LinkButton ID="lnkReject" runat="server" Text="Reject" OnClick="lnkReject_Click" OnClientClick="return showandhide(this)"><img src="images/reject.png" style="width:16px;height:16px; margin:5px" title="Reject"/></asp:LinkButton>
                    <asp:LinkButton ID="lnkviewdetails" runat="server" Text="View Details" OnClick="lnkviewdetails_Click"><img src="images/viewdetails.png" style="width:20px;height:20px; margin:5px" title="Details" /></asp:LinkButton>
                    <asp:TextBox ID="txtcomment" runat="server" style="display:none"></asp:TextBox>
                </ItemTemplate>

            </asp:TemplateField>
                      <asp:TemplateField HeaderText="Status">

                <ItemTemplate>
                    <asp:Label runat="server" ID="lblstatus" Text='<%# Eval("status")%>'></asp:Label>


                </ItemTemplate>

            </asp:TemplateField>


        </Columns>


</asp:GridView>

1 个答案:

答案 0 :(得分:0)

我假设您只使用C#并且没有Javascript。要查看或隐藏特定文本框,您应该触发GridView的RowCommand事件:

protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
  if (e.CommandName == "viewhide")
  {
    GridViewRow gvr = (GridViewRow)(((LinkButton)e.CommandSource).NamingContainer);
    TextBox tbComments = ((TextBox)gvr.FindControl("txtcomment"));

    tbComments.Visible = true;
  }
}

这将是您的ASPX Codebehind

<asp:LinkButton ID="lnkReject" runat="server" Text="Reject" OnClick="lnkReject_Click" CommandName="viewhide" OnClientClick="return showandhide(this)"><img src="images/reject.png" style="width:16px;height:16px; margin:5px" title="Reject"/></asp:LinkButton>

编辑:现在您已将标签从C#更改为VB.NET,这是不好的。因为我把所有时间花在写c#代码上!