zoukankan
html css js c++ java
WebControl示例
using
System;
using
System.Web.UI;
using
System.Text;
namespace
Goodspeed.Web
{
/**/
///
<summary>
///
Summary description for WebTimer
///
</summary>
public
class
WebTimer:Control, IPostBackEventHandler
{
- Properties -
#region
- Properties -
private
int
_interval
=
5000
;
public
int
Interval
{
get
{
return
_interval; }
set
{ _interval
=
value; }
}
private
bool
_enabled;
public
bool
Enabled
{
get
{
return
_enabled; }
set
{ _enabled
=
value; }
}
private
static
readonly
object
EventTimer
=
new
object
();
public
bool
Visible
{
get
{
return
base
.Visible; }
set
{
base
.Visible
=
value; }
}
#endregion
- Constructor -
#region
- Constructor -
public
WebTimer()
{
//
//
TODO: Add constructor logic here
//
}
#endregion
- Event -
#region
- Event -
public
event
EventHandler Timer
{
add
{ Events.AddHandler(EventTimer, value); }
remove
{ Events.RemoveHandler(EventTimer, value); }
}
#endregion
/**/
///
<summary>
///
event handler functions
///
</summary>
///
<param name="e"></param>
protected
virtual
void
OnTime(EventArgs e)
{
EventHandler TimerHandler
=
(EventHandler)Events[EventTimer];
if
(TimerHandler
!=
null
)
{
TimerHandler(
this
, e);
}
}
- IPostBackEventHandler -
#region
- IPostBackEventHandler -
/**/
///
<summary>
///
实现IPostBackEventHandler接口
///
</summary>
///
<param name="eventArgs"></param>
void
IPostBackEventHandler.RaisePostBackEvent(
string
eventArgs)
{
OnTime(EventArgs.Empty);
}
#endregion
private
string
BulidJavascript()
{
StringBuilder sb
=
new
StringBuilder();
sb.Append(
"
<script>
"
);
sb.AppendFormat(
"
setTimeout(\
"
{
0
}
\
"
,{1})
"
,
new
object
[]
{
this
.Page.GetPostBackEventReference(
this
), _interval.ToString() }
);
sb.Append(
"
</script>
"
);
return
sb.ToString();
}
- Override -
#region
- Override -
/**/
///
<summary>
///
///
</summary>
///
<param name="e"></param>
///
<remarks>
///
此时调用page函数
///
</remarks>
protected
override
void
OnPreRender(EventArgs e)
{
base
.OnPreRender(e);
//
获取对客户端脚本函数的引用,调用该函数将使服务器发送回该页。
//
该方法还将一个参数传递到在服务器上执行回发处理的服务器控件。
Page.GetPostBackEventReference(
this
,
""
);
}
/**/
///
<summary>
///
///
</summary>
///
<param name="writer"></param>
///
<remarks>
///
page已进入绘制状态,此时调用page对象的任何函数都太迟了
///
</remarks>
protected
override
void
Render(HtmlTextWriter writer)
{
if
(Page
!=
null
)
{
//
确认在运行时为指定的 ASP.NET 服务器控件呈现 HtmlForm 控件
Page.VerifyRenderingInServerForm(
this
);
}
if
(_enabled)
{
writer.Write(BulidJavascript());
}
}
#endregion
}
}
查看全文
相关阅读:
div定位左右居中
highcharts绘制3D倾斜的饼图
Echarts 图表不能渲染问题整理
RK:系统手势监听
RK:网络共存、Shell脚本
泛型
ArrayList类
Linux(centos7)安装ClickHouse
centos安装宝塔命令
centos下修改hosts文件以及生效命令
原文地址:https://www.cnblogs.com/goodspeed/p/79602.html
最新文章
【STM32F429】第2章 初学ThreadX准备工作
【STM32H7】第1章 选择ThreadX的优势
【STM32F429】第1章 选择ThreadX的优势
【STM32H7】第9章 RL-USB各种USB描述符简介
【STM32F429】第9章 RL-USB各种USB描述符简介
【STM32F407】第9章 RL-USB各种USB描述符简介
【STM32H7】第8章 学习USB协议栈前要了解的基础知识
【STM32F429】第8章 学习USB协议栈前要了解的基础知识
【STM32F407】第8章 学习USB协议栈前要了解的基础知识
【STM32H7】第7章 RL-USB裸机版和各种RTOS版相关问题
热门文章
【STM32F429】第7章 RL-USB裸机版和各种RTOS版相关问题
python UnitTest
python date与datetime
删除一个数组中重复的数字
Ajax请求($.ajax()为例)中data属性传参数的形式
非常实用的弹出遮罩层
js实现Select下拉框具有输入功能的方法
鼠标悬停控制下拉框的显示和隐藏
echarts配置项
CSS文字段落排版常用设置
Copyright © 2011-2022 走看看