【发布时间】:2017-04-12 12:00:48
【问题描述】:
我想创建一个用户控件,其中有一个复选框和一个文本框。如果复选框被选中,则文本框的 enable 属性为 true,否则为 false。
这是我的页面中的内容:
<form id="form1" runat="server">
<div>
<custom:NullableTextBox ID="NullableTextBox1" OnCheckedChanged="NullableTextBox1_OnCheckedChanged" runat="server"></custom:NullableTextBox>
</div>
</form>
这是我的 UserControl 的类:
public partial class NullableTextBox : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
public NullableTextBox()
{
CheckBox1.CheckedChanged += new EventHandler(CKB_CheckedChanged);
this.Controls.Add(CheckBox1);
this.Controls.Add(TextBox1);
}
private CheckBox CheckBox1 = new CheckBox();
private TextBox TextBox1 = new TextBox();
private void CKB_CheckedChanged(object sender, EventArgs e)
{
if (CheckBox1.Checked)
{
TextBox1.Enabled = true;
}
else
{
TextBox1.Text = string.Empty;
TextBox1.Enabled = false;
}
}
}
当我选中或取消选中该复选框时什么都没有发生,我希望它立即更新而不进行回发。
【问题讨论】:
-
如何处理回发?当引发 CheckedChanged 事件并在 aspx 页面中添加更新面板时,我可能会进行回发,但我不知道该怎么做。
标签: asp.net