【问题标题】:Store controls' custom attributes in viewstate在视图状态中存储控件的自定义属性
【发布时间】:2011-10-24 18:20:38
【问题描述】:

我在某些事件处理程序中为 ASP.NET 控件添加了“只读”属性。

control.Attributes.Add("readonly", "readonly");

但是这些属性没有存储在视图状态中,并且在回发后这些属性被清除。我怎样才能让它在回发后留下来?使用control.ReadOnly = true; 是不适用的,因为它会禁用控制,因此很难看。 谢谢大家的帮助!

【问题讨论】:

  • 您可以使用 disabled 属性并为已禁用的输入设置 css 类,例如 input[disabled] { backgroundcolor:beautifull;opacity:less ; }
  • @2GDev 禁用元素不允许更改文本颜色。它只能是灰色的。试试这个: 看看你的颜色不会是css样式中指定的红色。谢谢你的建议!
  • 这些控件是从 WebControl 还是 Control 派生的?

标签: c# asp.net webforms postback viewstate


【解决方案1】:

这是一个应用于禁用输入文本的示例样式...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style type="text/css">
input[disabled]
{
    background-color:White; 
    border:0 solid #fff;
    color:red;
}
</style>

    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <input type="text" disabled="disabled" class="disabled"  value="i'm disabled!"/>
    </div>
    </form>
</body>
</html>

在 Windows 7 上的 Google Chroome 13.0.782.112 上测试。

【讨论】:

  • 但是,颜色在 Opera 和 IE7/IE8 中都不起作用。我不能强制用户安装 Google Chrome 以在禁用的输入中看到红色。谢谢你的建议!
猜你喜欢
  • 2011-10-17
  • 1970-01-01
  • 2013-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-21
  • 2014-11-26
  • 2011-02-21
相关资源
最近更新 更多