OnPreRender(EventArgs e) 事件常用的方法
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());
}