在 asp.net 2.0 中启用和禁用文本框
Posted
技术标签:
【中文标题】在 asp.net 2.0 中启用和禁用文本框【英文标题】:enabling and disabling a textbox in asp.net 2.0 【发布时间】:2012-04-12 19:39:06 【问题描述】:所以代码的缩写是这样的
bool editable;
pageload()
if (!ispostback)
editable = false;
aspTextbox.enable = editable;
buttonclick()
editable = true;
aspTextbox.enable = editable;
但是明确地将可编辑变量设置为 true 或在按钮单击的事件处理程序中设置它,它们都没有启用该框。是否有其他属性用于此。或者我只是错过了什么。
感谢 cmets 和帮助。如果您需要更多信息,请在 cmets 中告诉我。
【问题讨论】:
您在任何地方都有更新面板吗?也许只是更新面板中的内容在回发后更新? 不确定更新面板从我快速读到的关于它们与 ajax 控件一起使用的信息我没有使用任何 ajax 对网络编程来说还是很新的东西,还没有走到那一步。 您能否复制/粘贴代码隐藏和 aspx 页面的确切代码? 你能分享你正在使用的确切代码吗?您在上面粘贴的代码将意味着在页面加载后始终禁用 aspTextbox 最初您没有为 if 块放置大括号。请注意,editable 将在回发时失去其价值,并且始终为 false。基于您的伪代码的示例 c# 代码可以正常工作。私人布尔是可编辑的; protected void Page_Load(object sender, EventArgs e) if (!IsPostBack) isEditable = false; TextBox1.Enabled = isEditable; protected void Button1_Click(object sender, EventArgs e) isEditable = true; TextBox1.Enabled = isEditable; 【参考方案1】:你可以这样做:
将以下代码放入您的<head>
标记中。
<script>
function disableText()
document.getElementById("TextBox1").disabled=true;
function enableText()
document.getElementById("TextBox1").disabled=false;
return false;
</script>
编辑:
如果您不想使用javascript
,请添加panel
和textbox
和enable/disable
panel
。
【讨论】:
我正试图严格限制在此 Web 应用程序中使用 javascript,因为它将被添加到现有页面中,并且要求尽可能少地使用 javascript。有没有办法设置文本框的启用属性。另外我正在编辑我的原始帖子以显示文本框是 asp:texboxes。 @Michael-编辑了我的答案。检查并告诉我它是否有效。 效果很好,谢谢。而且代码比在页面上设置每个单独的控件要少得多。以上是关于在 asp.net 2.0 中启用和禁用文本框的主要内容,如果未能解决你的问题,请参考以下文章
启用/禁用使用 JQuery 禁用输入的 ASP.NET Web 表单所需的验证器?