庖丁解牛Asp.net3.5控件和组件开发技术系列—事件和数据回发机制(二)
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-05-20
ring.Empty : s); } set { ViewState["Text"] = value; } } private bool blnAutoPostBack = false; /// <summary> /// 是否自动回发 /// </summary> public bool AutoPostBack { get { return blnAutoPostBack; } set { blnAutoPostBack = value; } } protected override void OnPreRender(EventArgs e) { PostBackOptions pbo = new PostBackOptions(this); pbo.AutoPostBack = this.AutoPostBack; pbo.PerformValidation = true; pbo.TrackFocus = true; pbo.ClientSubmit = true; pbo.RequiresJavaScriptProtocol = false; string strPostBackCode = this.Page.ClientScript.GetPostBackEvent Reference(pbo); //输出脚本函数 StringBuilder strPostBackFromClient = new StringBuilder(); strPostBackFromClient.Append(" function PostBackFromClient_" + this.ClientID + "() "); strPostBackFromClient.Append(" { "); strPostBackFromClient.Append(strPostBackCode + ";"); strPostBackFromClient.Append(" )"); if (!Page.ClientScript.IsClientScriptBlockRegistered(this.GetType(), "PostBackFromClient_" + this.ClientID)) { Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "PostBackFromClient_" + this.ClientID, strPostBackFromClient. ToString(), true); } base.OnPreRender(e); } /// <summary> /// 生成呈现HTML格式标记 /// </summary> /// <param name="writer"></param> protected override void Render(HtmlTextWriter writer) { StringBuilder sb = new StringBuilder(); sb.Append("<input type=\"text\" name="); sb.Append("\"" + UniqueID + "\""); sb.Append(" value="); sb.Append("\"" + HttpUtility.HtmlEncode(Text) + "\""); sb.Append(" onblur=''" + "PostBackFromClient_" + this.ClientID + "();''"); sb.Append(" />"); writer.Write(sb.ToString()); } /// <summary> /// 当回发时,装载用户输入的新数据 /// </summary> /// <param name="postDataKey"></param> /// <param name="postCollection">Keys/Values </param> /// <returns>true表示数据改变,将会执行下面的方法RaisePostDataChangedEvent; 否 则数据未改变</returns> public virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection) { string strOldValue = Text; |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: ASP.NET的MVC设计模式下一篇: ASP.NET MVC框架
关于庖丁解牛Asp.net3.5控件和组件开发技术系列—事件和数据回发机制(二)的所有评论