【问题标题】:Gridview with TextBox带有文本框的网格视图
【发布时间】:2009-08-18 04:22:37
【问题描述】:

我有一个带有注释文本、链接按钮和

的 gridview 控件

不可见(文本框和发布到数据库的按钮。)

当我点击链接按钮时,我想显示文本框。

任何人都可以帮助我如何做到这一点。

我的网格视图代码:

<asp:GridView ID="grdComments" runat="server" AutoGenerateColumns="False">
<Columns>
    <asp:TemplateField>
        <ItemTemplate>
            <table width="500px" cellpadding="3" cellspacing="3">
                <tr/>
                    <td/>
                        <asp:Label runat="server" ID="lblLeftPad"></asp:Label>
                        <asp:Label runat="server" ID="lblComment" Text='<%# container.dataitem("CommentText") %>'></asp:Label>
                    </td>
                </tr>
                <tr>
                    <td>
                        <asp:LinkButton ID="lbtnReply" Text="Reply" runat="server" CommandName="CommentReply"></asp:LinkButton>
                    </td>
                </tr>
                <tr>
                        <td>
                            </asp:TextBox ID="txtReply" runat="server" Height="50px" Width="500px" Visible="false"></asp:TextBox>
                        </td>
                    </tr>
               </table>

        </ItemTemplate>
    </asp:TemplateField>
</Columns>

【问题讨论】:

  • 您的代码显示不正确,请修复它。

标签: asp.net vb.net gridview


【解决方案1】:

如果您不使用 Javascript / AJAX,则在链接按钮的单击事件中将文本框的可见值设置为 true。链接按钮会自动发送回发,因此除非您将链接按钮设置为不自动回发,否则这将起作用。

编辑:访问链接按钮

有几种方法取决于您设置网格的方式。如果这是您正在使用的命令字段或按钮字段,那么您可以使用 RowCommand 和 e.CommandArgument 现在您所在的行,然后将文本框设置为 true。下面是一个示例:

    row = Integer.Parse(e.CommandArgument)
    GridView1.Rows(row).Cells(1).Controls(1).Visible = True 

单元格设置为您要处理的列,控件 # 设置为您要在单元格中使用的控件。即使您只放置一个文本框,也可以在一个单元格中创建多个控件。您可以使用 FindControl 语法更可靠地进行控制。

如果您使用链接按钮创建了模板化字段,则在链接按钮的命令参数上将其值设置为:=

gridview 的 rowcommand 中的上述代码将起作用。

或者您可以将链接按钮的点击事件设置为:

gridview1.rows(directcast(sender,LinkBut​​ton).CommandArgument).cells(1).Controls(1).visible = true

您可以通过从 GUI 编辑模板并双击链接按钮来获得模板化字段中的链接按钮单击事件。

我建议使用 RowCommand 选项并使用 FindControl 语法来使您的应用更具可读性和更易于维护。

【讨论】:

  • 链接按钮控件在 aspx.vb 页面中不可用,因为它位于网格视图内。
  • 你仍然可以在链接按钮点击事件。请参阅我的编辑以更详细地解释您拥有的选项。 :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-04
  • 1970-01-01
相关资源
最近更新 更多