В моей разметке (Default.aspx), у меня есть простая таблица:ASP.NET CheckBoxes Включение/выключение Textbox в код
<asp:Table id="myAspTable" runat="server" />
I мой код позади (Default.aspx.cs), я есть целое число (п), который может быть что угодно, от 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
}
Но это не работает, потому что у меня нет никакого способа ссылки Textbox я в функции CheckToggleEnable. Кроме того, я надеялся сделать это без обратной связи.
Пожалуйста, не просто попросите нас решить проблему за вас. Покажите нам, как _you_ попытался решить проблему самостоятельно, а затем покажите нам _exactly_, каким был результат, и скажите, почему вы считаете, что это не сработало. См. «[Что вы пробовали?] (Http://whathaveyoutried.com/)» за отличную статью, которую вы действительно должны прочитать. –