2011-08-11 59 views
3

我在某些事件处理程序中向ASP.NET控件添加“只读”属性。在视图状态下存储控件的自定义属性

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

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

+0

可以使用的残疾人属性和设置CSS类禁用输入,如输入[禁用] {backgroundcolor:美丽;不透明度:少; } – 2GDev

+0

@ 2GDev禁用的元素不允许更改文本颜色。它只能是灰色的。试试这个:并且看到你的颜色不会像css风格中指定的那样变成红色。感谢您的建议! – meir

+0

这些控件是从WebControl或Control派生的吗? – gangelo

回答

-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> 

测试在谷歌Chroome 13.0.782.112在Windows 7

+0

但是,在Opera或IE7/IE8中,颜色都不起作用。我无法强制用户安装谷歌浏览器在禁用的输入中看到红色。感谢您的建议! – meir