在 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,请添加paneltextboxenable/disable panel

【讨论】:

我正试图严格限制在此 Web 应用程序中使用 javascript,因为它将被添加到现有页面中,并且要求尽可能少地使用 javascript。有没有办法设置文本框的启用属性。另外我正在编辑我的原始帖子以显示文本框是 asp:texboxes。 @Michael-编辑了我的答案。检查并告诉我它是否有效。 效果很好,谢谢。而且代码比在页面上设置每个单独的控件要少得多。

以上是关于在 asp.net 2.0 中启用和禁用文本框的主要内容,如果未能解决你的问题,请参考以下文章

启用/禁用使用 JQuery 禁用输入的 ASP.NET Web 表单所需的验证器?

自动完成不适用于 IE 的 asp.net 文本框

如何在jquery中启用和禁用文本框[重复]

jquery 基于单选按钮启用/禁用文本框

使用来自javascript的动态ID启用/禁用Telerik asp.net组合框

如何启用禁用的文本框 onclick 使用角度的按钮