Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net展开按钮_Asp.net_Expand - Fatal编程技术网

Asp.net展开按钮

Asp.net展开按钮,asp.net,expand,Asp.net,Expand,在我的asp.net网站项目中使用c#代码,我有一个表,在其中以编程方式生成行。其中一些行具有展开按钮以显示更多信息。现在,我捕获由按钮引起的回发,解析引起回发的按钮的名称并重新生成我的所有行,向相应的行添加一个标签,其中包含需要展开的信息 我想知道是否有更好的方法来实现扩展/折叠机制,而不需要我重新生成所有行。我尝试在表中搜索行以添加信息,但由于行是以编程方式生成的,因此每次按钮导致回发时,表都是空的。您可以使用一个列表变量来保存为表生成的行实例。在回发时,您迭代列表并将其添加到表中,而不是生

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


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

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

最好在客户机上展开,单击按钮“获取服务器内容”,或者您可以使用隐藏样式呈现展开所需的所有html,然后单击按钮“使用javascript更改样式”

方法1-Ajax调用并替换内容-

方法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" />

附加内容

我试过你的方法。刷新页面的时间确实比以前少了。你的第二种方法听起来很简单。我将尝试它,并与我目前的方法进行比较。非常感谢。