css 封装整个只读文本框的属性:

.TextBoxReadOnly
{
border:1px solid #C0C0C0;
text-align:left;
background-color:#D3D3D3;
width:100px;
readonly:expression(this.readOnly=true);
}
它工作得很好, 经过测试, 发现了一个问题:
用js 代码: txt.readOnly=false , 不能使文本框回到可读写状态, 用:

txt.className="OtherStyle";
txt.readOnly=false;
也不行!
总之, 一旦使用css 修饰了该控件使它只读, 就不能再使它恢复到可读写的状态了. 即使换成其它的css 样式, 有知道的朋友,请告知下哦。.

于是乎, 又写了一个样式:

.TextBoxReadWrite
{
border:1px solid #C0C0C0;
text-align:left;
background-color:#FFFFFF;
width:100px;
readonly:expression(this.readOnly=false);
}
这样再用js 切换样式, 就可以在只读与可读写之间来回切换了, 把这个过程封装到一个函数中, 在程序中就可以自由调用了, 虽然有点绕, 不过是目前我找到的最好的办法.

切换的js:

function f1(ctr,isReadOnly)
{
var octr=document.getElementById(ctr);
if(octr!=null)
{
if(isReadOnly)
octr.className="TextBoxReadOnly";
else
octr.className="TextBoxReadWrite";
}
}
调用:

function f3()
{
f1("<%=txt1.ClientID %>",true);
}