1

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

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

4

2 回答 2

1

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

于 2012-04-18T19:04:51.997 回答
1

最好在客户端上进行扩展,在按钮上单击获取服务器以获取内容,或者您​​可以呈现扩展所需的所有 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" />
于 2012-04-18T19:32:47.593 回答