分享:让web页面部分内容只读

常常需要根据情况让某页面部分内容只读,我的实现思路是:把一些控件放在一个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>

本文原发表于http://community.csdn.net/Expert/topic/3333/3333942.xml?temp=.1910669

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值