【问题标题】:Asp.net expand buttonAsp.net 展开按钮
【发布时间】:2012-04-19 03:32:47
【问题描述】:

我的 asp.net 网站项目使用 c# 代码,我有一个表,我在其中以编程方式生成行。其中一些行具有展开按钮以显示更多信息。现在,我捕获由按钮引起的回发,解析导致回发的按钮的名称并重新生成我的所有行,为相应的行添加一个标签,其中包含需要扩展的信息。

我想知道是否有更好的方法来实现不需要我重新生成所有行的展开/折叠机制。我尝试在表格中搜索要添加信息的行,但由于这些行是通过编程方式生成的,因此在按钮导致的每次回发时表格都是空的。

【问题讨论】:

    标签: asp.net expand


    【解决方案1】:

    您可以有一个列表变量来保存您为表生成的行实例。在回发时,您不是生成,而是迭代您的列表并将它们添加到表中。同时,您可以检查每一行是否是您需要添加信息的行。

    【讨论】:

    • 我试过你的方法。刷新页面的时间确实比以前少了。
    【解决方案2】:

    最好在客户端进行扩展,在按钮单击获取服务器以获取内容,或者您​​可以呈现扩展所需的所有 html 但具有隐藏样式,然后在单击按钮时使用 javascript 更改样式。

    方法 1 - Ajax 调用和替换内容 - http://weblogs.asp.net/karan/archive/2010/09/12/calling-server-side-method-using-jquery-ajax.aspx

    方法 2 - 使用 jQuery 轻松完成:

    <asp:Panel ID="showHidePanel" runat="server" style="display:none;">
      Additional content
    </asp:Panel>
    <input type="button" onclick="$('#<%=showHidePanel.ClientID %>').show(); return false;" value="Show" />
    

    【讨论】:

    • 您的第二种方法听起来很简单。我会尝试并与我目前的方法进行比较。谢谢。
    猜你喜欢
    • 2023-01-14
    • 2021-06-17
    • 2017-11-15
    • 2021-09-17
    • 2020-06-03
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多