小菜一碟:让web页面部分内容只读

athossmth 2004-09-02 03:31:54
常常需要根据情况让某页面部分内容只读,我的实现思路是:把一些控件放在一个panel里,从codebehind里加入css style,然后css style用htc实现,保持初始化的内容。

程序如下:

//这是设置panel只读的函数,其中staffvac是web form项目的名字
static public void fcnSetPanelReadonly(System.Web.UI.WebControls.Panel pnlI, bool blReadOnly)
{
if(blReadOnly == false)
return;
int iCtrlCnt = pnlI.Controls.Count;
for(int i=0;i<iCtrlCnt;i++)
{
System.Web.UI.Control ctlI = pnlI.Controls[i];
try
{
System.Web.UI.WebControls.WebControl wctI = (System.Web.UI.WebControls.WebControl)ctlI;
wctI.Style.Add("behavior", "url(/StaffVac/script/Athos.DhtmlBehavior.ReadOnly.htc)");
}
catch(Exception exp)
{
string strErr = exp.Message;
}
}
}

//这是htc文件Athos.DhtmlBehavior.ReadOnly.htc,存放在当前web form项目的script目录下

<PUBLIC:COMPONENT URN="urn:msdn-microsoft-com:workshop" >
<public:attach event=oncontentready onevent="oncontentready()" />

<SCRIPT LANGUAGE="JScript">
function oncontentready()
{
strTagname = tagName;
strType = "";
if(strTagname == "INPUT")
{
strType = type;
if(strType == "text")
{
strValue = value;
element.attachEvent("onchange", fcnRestore);
}
else if(strType == "submit")
{
element.disabled = true;
}
}
else if(strTagname == "TEXTAREA")
{
strInnerHTML = String(innerHTML);
strValue = value;
element.attachEvent("onchange", fcnRestore);
}
else if(strTagname == "SELECT")
{
intSelectedIndex = selectedIndex;
element.attachEvent("onchange", fcnRestore);
}
}

function fcnRestore()
{
if(strTagname == "INPUT")
{
value = strValue ;
}
else if(strTagname == "TEXTAREA")
{
value = strValue;
}
else if(strTagname == "SELECT")
{
selectedIndex = intSelectedIndex;
}
}

</SCRIPT>
</PUBLIC:COMPONENT>

...全文
305 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
amami 2004-09-13
  • 打赏
  • 举报
回复
不管这么多,记下先
yzh0523 2004-09-13
  • 打赏
  • 举报
回复
收藏
nswhy 2004-09-13
  • 打赏
  • 举报
回复
好东西
要顶
drason 2004-09-13
  • 打赏
  • 举报
回复
这个帖子要收藏~
christ2 2004-09-13
  • 打赏
  • 举报
回复
收了慢慢看
bccu 2004-09-13
  • 打赏
  • 举报
回复
收藏
jamzh 2004-09-02
  • 打赏
  • 举报
回复
好思路。
我顶!~
微启子 2004-09-02
  • 打赏
  • 举报
回复
好东西!收藏!!
happyjun2000 2004-09-02
  • 打赏
  • 举报
回复
收藏!
baya 2004-09-02
  • 打赏
  • 举报
回复
谢谢
wangdequan1024 2004-09-02
  • 打赏
  • 举报
回复
收藏
readersm68 2004-09-02
  • 打赏
  • 举报
回复
收藏
morality 2004-09-02
  • 打赏
  • 举报
回复
呵呵,感谢,收藏
athossmth 2004-09-02
  • 打赏
  • 举报
回复
panel位置可以移动,我的项目用它方便一些,用table当然也是可以的。
buggavin 2004-09-02
  • 打赏
  • 举报
回复
不过放到一个table 里面不是更好控制吗?
buggavin 2004-09-02
  • 打赏
  • 举报
回复
想法不错,谢谢分享!

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧