我的asp.net网站项目有c#代码,我有一个表格,我以编程方式生成行。其中一些行具有展开按钮以显示更多信息。现在,我抓住由按钮引起的回发,解析导致回发的按钮的名称并重新生成我的所有行,向具有需要扩展的信息的相应行添加标签。
我想知道是否有更好的方法来实现扩展/折叠机制,不需要我重新生成所有行。我尝试在表格中搜索要添加信息的行,但由于这些行是以编程方式生成的,因此按钮会导致每次回发时表格为空。
答案 0 :(得分:1)
您可以拥有一个列表变量,用于保存为表生成的行实例。在回发时,您不是生成,而是迭代列表并将其添加到表中。同时,您可以检查每一行是否是您需要添加信息的行。
答案 1 :(得分: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" />