如何在 C# 中动态创建 DIV,向其添加子元素,然后隐藏 DIV(及其上的所有内容)
本文关键字:DIV 隐藏 然后 动态 创建 添加 元素 | 更新日期: 2023-09-27 17:57:01
我找到了一种方法来剥这只猫的皮,这导致了这种情况,但我想知道是否最好将所有"可滑动"元素放在div 上,然后向上滑动那个div?
更具体地说,我正在 C# 中为 SharePoint 网页/Web 部件动态创建控件。我有条件地需要隐藏或向上滑动元素的"部分"。
理论上(我认为),我可以像这样创建一个 DIV(面板)(在 C# 中,在我的 *.ascx.cs 文件中):
Panel panelSec2 = new Panel(); // DIV
panelSec2.ID = "panelSection2";
。然后立即创建控件,如下所示:
boxRequesterName = new TextBox
{
CssClass = "dplatypus-webform-field-input"
};
。然后将这些控件添加到 DIV/面板:
panelSec2.Controls.Add(boxRequesterName);
. . .
通过这种方式(大概/理论上),我可以像在相应的 *.ascx 文件中的 jQuery 中一样隐藏/向上滑动面板:
$(document).on("change", '[id$=ckbxPaymentForSelf]', function () {
if (this.checked) {
var $panelSection2 = $('[id$=panelSection2]');
$(panelSection2).slideUp();
}
});
。并且不必担心指定单个控件进行隐藏/滑动。
我说的对吗?还是我的理论有问题?
你能想到你的逻辑没有错。
不过,在JS端可能会使事情变得简单一些的一件事是将ClientIDMode设置为静态。然后,您可以使用更直接的'#ControlID'
语法,而不是以现在的语法结尾的属性。您还可以将 if 语句中的两行组合在一起以$('[id$=panelSection2]').slideUp()