如何在 C# 中动态创建 DIV,向其添加子元素,然后隐藏 DIV(及其上的所有内容)?

How can I dynamically create a DIV in C#, add child elements to it, and then hide the DIV (and everything on it)?

我从 which led to 找到了一种给这只猫蒙皮的方法,但我想知道将我所有的 "slide-uppable" 元素放在 div 上是否更好,然后向上滑动 div?

更具体地说,我在 C# 中为 Sharepoint 网页/Web 部件动态创建控件。我有条件地需要隐藏或向上滑动 "sections" 个元素。

理论上(我认为),我可以像这样创建一个 DIV(面板)(在 C# 中,在我的 *.ascx.cs 文件中):

Panel panelSec2 = new Panel(); // DIV
panelSec2.ID = "panelSection2";

... 然后像这样立即创建控件:

boxRequesterName = new TextBox
{
    CssClass = "dplatypus-webform-field-input"
};

...然后将这些控件添加到 DIV/Panel:

panelSec2.Controls.Add(boxRequesterName);
. . .

通过这种方式(presumably/theoretically),我可以在相应的*.ascx文件中hide/slide像这样在jQuery中打开面板:

$(document).on("change", '[id$=ckbxPaymentForSelf]', function () {
    if (this.checked) {
        var $panelSection2 = $('[id$=panelSection2]');
        $(panelSection2).slideUp();
    }
});

...并且不必担心为 hidation/slidation 指定 individual 控件。

我说得对吗?还是我的理论有问题?

我能想到的你的逻辑没有问题。

尽管在 JS 方面可能会使事情变得更简单的一件事是将 ClientIDMode 设置为静态。然后,您可以使用更直接的 '#ControlID' 语法,而不是使用您现在使用的语法结尾的属性。您还可以将 if 语句中的两行合并为 $('[id$=panelSection2]').slideUp()