如何防止取消隐藏的 Html 表格行在页面提交后再次隐藏?

How can I prevent my unhidden HtmlTableRows from hiding again after the page is submitted?

我正在使用 HtmlButton 使一些隐藏的 HtmlTableRow 可见。 HtmlButton 的创建和设置如下:

HtmlButton btnAddFoapalRow = null;
. . .
btnAddFoapalRow = new HtmlButton();
btnAddFoapalRow.Attributes["type"] = "button";
btnAddFoapalRow.InnerHtml = "+"; 
btnAddFoapalRow.ID = "btnAddFoapalRow";
this.Controls.Add(btnAddFoapalRow);

然后我以编程方式创建 HtmlTableCells,将这些单元格添加到动态创建的 HtmlTableRows,然后将 HtmlTableRows 添加到 HtmlTable。

第 3 行和第 4 行开始隐藏在蒲式耳下的生活(可以这么说):

foapalrow3.Style["display"] = "none";
. . .
foapalrow4.Style["display"] = "none";

以上情况发生server-side/C#;我在jQuery中响应btnAddFoapalRow的点击做下一个隐藏行,只要有一个,unhidden/visible:

/* This makes the next hidden row visible, as long as there is one */
$(document).on("click", '[id$=btnAddFoapalRow]', function (e) {
    $('[id$=foapalhtmltable]').find('tr:hidden:first').show();
});

这比 Grace 更有效。问题是,当我提交表单时,HtmlTable 恢复为仅显示其最初的两行(header 行和一个数据行);我通过再次单击 btnAddFoapalRow "go invisible" 添加的一两个附加数据行(显然恢复为 "display:none")。如果我 re-click btnAddFoapalRow,这些行会重新出现,并且任何输入的数据仍然完好无损——所以它们并没有真正被 86,它们只是害羞——但我如何才能防止这些行折叠 up/hiding 吗?

根据@TrueBlueAussie 在评论中所说的内容,您需要确保已提交的表单在页面加载期间保持不变。

您可以在服务器端以某种方式处理它(也许是数据库更新)或者为了使它更简单,您可以使用 JavaScript.

创建一个 cookie