Feature

原设计中WebBasePanel不会保存用户移动位置及展开等设定,使用不便。作者抽时间修改该控件,下载新的pasp_aspnet_panel.js后,WebPanel及WebTemplatePanel可保存相关设定,并给出了WebBasePanel.cs的变动代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Feature

WebBasePanel

原先的設計中,WebBasePanel 並不會保存使用者移動後的位置及展開與否等設定,
雖然這是既定的設計,不算是Bug,但使用起來就有點彆扭,所以我抽了點時間修改
這個控件,以下是變動的程式碼,在下載了新的pasp_aspnet_panel.js後,WebPanel
及WebTemplatePanel就擁有保存使用者移動的位置及展開等設定.

pasp_aspnet_panel.js
http://www.dreams.idv.tw/~code6421/Doc/pasp_aspnet_panel.js

WebBasePanel.cs

protected override void AddAttributesToRender(HtmlTextWriter writer)
{
 if(Page != null)
  Page.VerifyRenderingInServerForm(this);
 
 writer.AddAttribute(HtmlTextWriterAttribute.Type,"hidden");
 writer.AddAttribute(HtmlTextWriterAttribute.Name,this.ClientID+"_X");
 if(Page.Request.Params[this.ClientID+"_X"] != null)
  writer.AddAttribute("value",Page.Request.Params[this.ClientID+"_X"]);
 writer.RenderBeginTag(HtmlTextWriterTag.Input);
 writer.RenderEndTag();

 writer.AddAttribute(HtmlTextWriterAttribute.Name,this.ClientID+"_Y");
 writer.AddAttribute(HtmlTextWriterAttribute.Type,"hidden");
 if(Page.Request.Params[this.ClientID+"_Y"] != null)
  writer.AddAttribute("value",Page.Request.Params[this.ClientID+"_Y"]);
 writer.RenderBeginTag(HtmlTextWriterTag.Input);
 writer.RenderEndTag();

 writer.AddAttribute(HtmlTextWriterAttribute.Name,this.ClientID+"_DISPLAY");
 writer.AddAttribute(HtmlTextWriterAttribute.Type,"hidden");
 if(Page.Request.Params[this.ClientID+"_DISPLAY"] != null)
  writer.AddAttribute("value",Page.Request.Params[this.ClientID+"_DISPLAY"]);
 writer.RenderBeginTag(HtmlTextWriterTag.Input);
 writer.RenderEndTag();

 _defaultHeight = Height.ToString();
 if(Site == null)
  Height = Unit.Empty;   
 base.AddAttributesToRender (writer);
 writer.AddStyleAttribute("FILTER","alpha(opacity:100)");
}

public override void RenderBeginTag(HtmlTextWriter writer)
{
 string header = CreateHeader();

 base.RenderBeginTag (writer);
 writer.WriteLine(
  string.Format(BASE_BEGIN_HTML,
  this.ClientID,
  header,
  _defaultHeight,
  ColorTranslator.ToHtml(HeaderBackgroundColor),
  ColorTranslator.ToHtml(BorderColor),
  BorderWidth.ToString(),
  Enum.GetName(typeof(BorderStyle),BorderStyle),
  ColorTranslator.ToHtml(BackColor),
  this.ClientID+"_span",
  this.ClientID+"_arrow"                 
  )
  );
 writer.WriteLine(
           "<SCRIPT language='JavaScript'>var {0}_obj = new WebPanelObject(document.getElementById('{0}'),document.getElementById('{0}_X'),document.getElementById('{0}_Y'),document.getElementById('{0}_DISPLAY'),document.getElementById('{0}_arrow'),document.getElementById('{0}_span'));</script>",this.ClientID);
}

要多看勘誤表哦 shades_smile.gif

 

转载于:https://www.cnblogs.com/code6421/archive/2004/10/05/49144.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值