gpt4 book ai didi

c# - 用于在代码隐藏中启用/禁用文本框的 ASP.NET 复选框

转载 作者:行者123 更新时间:2023-12-02 21:24:13 25 4
gpt4 key购买 nike

在我的标记(Default.aspx)中,我有一个简单的表格:

<asp:Table id="myAspTable" runat="server" />

我的代码隐藏在(Default.aspx.cs)中,我有一个整数(n),可以是从 1 到 100 的任何值:

int n = getValueOfN();

根据这个数字,我可以动态创建复选框和文本框并将它们添加到我的页面中:

CheckBox[] checks = new CheckBox[n];
TextBox[] texts = new TextBox[n];

for (int i=0; i<n; i++)
{
checks[i] = new CheckBox();
texts[i] = new TextBox();

tblrow = new TableRow();
tblcell = new TableCell();
tblcell.Controls.Add(checks[i]);
tblcell.Controls.Add(texts[i]);
tblrow.Controls.Add(tblcell);
myAspTable.Controls.Add(tblrow);
}

我现在要添加以下功能:每个复选框 i 必须分别在选中/取消选中时启用或禁用文本框 i。如何在代码隐藏中 100% 地做到这一点?

这是我尝试过的:

checks[i].AutoPostBack = true;
checks[i].CheckedChanged += new EventHandler(this.CheckToggleEnable);


public void CheckToggleEnable(object sender, EventArgs e)
{
// Implementation here
}

但这不起作用,因为我无法在 CheckToggleEnable 函数中引用 Textbox i。另外,我希望在没有回发的情况下做到这一点。

最佳答案

在每个复选框集上:

AutoPostBack="True"

每次单击时都会将其发送回服务器。您可以附加到 CheckChanged 事件,然后找到正确的文本框并设置:

Enabled="True"
Enabled="False"

视情况而定。

我建议,如果您有很多检查,请在客户端 JavaScript 中执行此操作,因为重复回发到服务器的性能......这可能会对服务器造成很大的负担。

关于c# - 用于在代码隐藏中启用/禁用文本框的 ASP.NET 复选框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25631222/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com