我想创建一个UserControl,在其中我将有一个复选框和一个文本框。如果复选框处于选中状态,则textbox的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;
}
}
}当我选中或取消选中复选框时,没有发生任何事情,我希望在不执行回发的情况下立即更新它。
发布于 2016-01-12 18:45:54
您做了一个服务器端事件,但不希望有回发。这意味着您需要使用JavaScript将其添加到客户端。
onclick="document.getElementById('TextBox1').disabled=this.checked;"How to disable textbox depending on checkbox checked
希望这能有所帮助
发布于 2017-04-12 12:00:49
在复选框中设置AutoPostBack = "true"。
https://stackoverflow.com/questions/34740066
复制相似问题