Я хочу динамически добавлять элементы ASP.NET (например, TextBox) в форму, потому что я динамически оцениваю структуру.
protected UCLabelTextbox generateLabelTextbox ()
var ctrl = (UCLabelTextbox) Page.LoadControl
("UserControls/UCLabelTextbox.ascx");
var value = (TextBox) ctrl.FindControl ("value");
value.ID = "EdtLength";
value.Attributes.Add ("type", "number");
value.Attributes.Add ("min", "50");
value.Attributes.Add ("max", "100");
value.TextChanged += EventTextChanged;
/*
var js = "onValueChanged (this.value, " 50, 100);";
value.Attributes.Add ("onchange", js);
*/
return ctrl;
TextBox должен вызываться при создании определенных событий для проверки ввода или выполнения дальнейших действий (пересчетов).
UCLabelTExtbox.ascx
<div class="table-row">
<asp:TextBox runat="server" ID="value"
OnTextChanged="EventTextChanged"/>
</div>
UCLabelTExtbox.ascx.cs
public partial class UCLabelTextbox : UserControl
{
protected void Page_Load (object sender, EventArgs e)
{
value.TextChanged += EventTextChanged;
}
public void EventTextChanged (object sender, EventArgs e)
{
var tb = sender as TextBox;
if (tb != null)
{
// do something
}
}
}
Но событие никогда не вызывается.
Я не хочу определять динамический список с различными элементами. Если есть TextBox или DropDownList, я не хочу вызывать какой-либо другой метод для проверки или запуска другого метода.