OnPreRender事件常见用法
protected override void OnPreRender(EventArgs e)
1) 加入脚本
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.Page.RegisterClientScriptBlock("InsertText", this.RenderScript());
this.Page.RegisterOnSubmitStatement("StorePostBody", "StorePostBody();");
}
2) 设定标题
protected override void OnPreRender(EventArgs e)
{
if(_mainTitle != null)
_mainTitle.Text = ResourceManager.GetString(Title); if(_subTitle != null)
_subTitle.Text = ResourceManager.GetString(SubTitle); base.OnPreRender (e);
}
3) 设定按钮客户端事件
protected override void OnPreRender(EventArgs e)
{
Submit.Attributes.Add("onclick", "return SubmitSendToFriend('" + From.ClientID + "', '" + To.ClientID + "');");
}
4) 设定控件的状态
protected override void OnPreRender(System.EventArgs e)
{ if(replyButton.Visible == false)
((Literal)FindControl("Sep1")).Visible = false; if(threadSubButton.Visible == false)
((Literal)FindControl("Sep3")).Visible = false; if(rateButton.Visible == false)
((Literal)FindControl("Sep2")).Visible = false; base.OnPreRender (e); }
5) 加入脚本块
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender (e);
StringBuilder sb = new StringBuilder();
sb.Append(" ");
sb.Append(" function ToggleRateMenu() {");
sb.Append(" rateMenu = document.getElementById('RateMenu');");
sb.Append(" rateButton = document.getElementById('RateButton');");
sb.Append("");
sb.Append(" rateMenu.style.left = getposOffset(rateButton, /"left/");");
sb.Append(" rateMenu.style.top = getposOffset(rateButton, /"top/") + rateButton.offsetHeight;");
sb.Append("");
sb.Append(" if (rateMenu.style.visibility == /"hidden/") {");
sb.Append(" rateMenu.style.visibility = /"visible/";");
sb.Append(" rateMenu.style.display = 'block';");
sb.Append(" } else {");
sb.Append(" rateMenu.style.visibility = /"hidden/";");
sb.Append(" rateMenu.style.display = 'none';");
sb.Append(" }");
sb.Append(" }");
sb.Append(" ");
sb.Append(" function getposOffset(what, offsettype){");
sb.Append(" var totaloffset=(offsettype==/"left/")? what.offsetLeft : what.offsetTop;");
sb.Append(" var parentEl=what.offsetParent;");
sb.Append(" while (parentEl!=null){");
sb.Append(" totaloffset=(offsettype==/"left/")? totaloffset+parentEl.offsetLeft : totaloffset+parentEl.offsetTop;");
sb.Append(" parentEl=parentEl.offsetParent;");
sb.Append(" }");
sb.Append(" return totaloffset;");
sb.Append("}");
sb.Append(" ");
Page.RegisterClientScriptBlock("RatePost",sb.ToString());
}
OnPreRender事件常见用法的更多相关文章
- .Net Framework中的AppDomain.AssemblyResolve事件的常见用法、问题,以及解决办法
一.简述 本文简要的介绍.NET Framework中System.AppDomain.AssemblyResolve事件的用法.使用注意事项,以及复杂场景下AssemblyResolve事件的污染问 ...
- [转]EasyUI——常见用法总结
原文链接: EasyUI——常见用法总结 1. 使用 data-options 来初始化属性. data-options是jQuery Easyui 最近两个版本才加上的一个特殊属性.通过这个属性,我 ...
- form.Show()和form.ShowDialog()的区别、新建一个form和MessageBox.Show()的常见用法
一:form.Show()和form.ShowDialog()的区别 a. 任何窗体(派生于基类Form的类),都可以以两种方式进行显示. //非模式窗体From qform=new Form();q ...
- [HMLY]9.深入浅出-iOS Reactive Cocoa的常见用法
简介 今天的主角是Reactive Cocoa,聊聊Reactive Cocoa的常见使用:KVO.Target.Delegate.Notification. Reactive Cocoa 是一个重量 ...
- iOS-Reactive Cocoa的常见用法
今天是周末,临近年底,工作上遇到不可抗力,会有点一些变动!这多少会让人有一点静不下来,但需克制,Reactive Cocoa是今天的主角! 废话不多说,今天聊聊Reactive Cocoa的常见使用! ...
- Linux中find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
- php中的curl使用入门教程和常见用法实例
摘要: [目录] php中的curl使用入门教程和常见用法实例 一.curl的优势 二.curl的简单使用步骤 三.错误处理 四.获取curl请求的具体信息 五.使用curl发送post请求 六.文件 ...
- Guava中Predicate的常见用法
Guava中Predicate的常见用法 1. Predicate基本用法 guava提供了许多利用Functions和Predicates来操作Collections的工具,一般在 Iterabl ...
- find常见用法
Linux中find常见用法示例 ·find path -option [ -print ] [ -exec -ok command ] {} \; find命令的参数 ...
随机推荐
- [PowerShell Utils] Automatically Change DNS and then Join Domain
I would like to start a series of blog posts sharing PowerShell scripts to speed up our solution ope ...
- WebService入门Demo
以前写博客最主要的就是不知道写什么东西,现在感觉能写点东西,就是感觉博客随笔的标题挺难取的,最近工作中刚好用到了WebService,刚好可以写一篇博客.去年工作的时候自己也用到过,只是知道调用一些W ...
- Pascal's Triangle leetcode java(杨辉三角)
题目: Given numRows, generate the first numRows of Pascal's triangle. For example, given numRows = 5, ...
- 构建配置 ProGuard Shrink 混淆和压缩
官方文档 压缩代码和资源 要尽可能减小 APK 文件,您应该启用压缩来移除 release build 中未使用的代码和资源.此页面介绍如何执行该操作,以及如何指定要在构建时保留或舍弃的代码和资源. ...
- 关于使用rem单位、css函数calc()进行自适应布局
一.关于css中的单位 大家都知道在css中的单位,一般都包括有px,%,em等单位,另外css3新增加一个单位rem. 其中px,%等单位平时在传统布局当中使用的比较频繁,大家也比较熟悉,不过px单 ...
- impala 导出CSV 或excel
1.介绍 impala-shell导入导出 参数说明: • -q query (--query=query) 从命令行执行查询,不进入impala-shell • -d default_db (--d ...
- 转:UFLDL_Tutorial 笔记(deep learning绝佳的入门资料 )
http://blog.csdn.net/dinosoft/article/details/50103503 推荐一个deep learning绝佳的入门资料 * UFLDL(Unsupervised ...
- Docker登录失败
% docker login Username: xxxx Password: Email: xxxxxxx@yahoo.co.jp FATA[0033] Error response from ...
- Maven镜像收集
本贴主要收集国内国外速度比较快的maven镜像,OSC的MAVEN已经关闭了 0.阿里Maven镜像 setting.xml https://github.com/ae6623/Zebra/blob/ ...
- javascript获取时间差
function GetDateDiff(startTime, endTime, diffType) { //将xxxx-xx-xx的时间格式,转换为 xxxx/xx/xx的格式 startTime ...