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
}
}
查看全文
相关阅读:
将自己数据转化为cifar10支持的lmdb
python实现cifar10数据集的可视化
Python OS 文件/目录方法
象棋AI算法(二)
象棋AI算法(一)
围棋人机大战中阿尔法狗原理解析,左右互搏,青出于蓝而胜于蓝?
电脑开机停留在主板设置界面,进不了系统
哪一种编程语言适合人工智能?
BIOS设置图解教程-看完就没有不明白的了
关于AndroidStudio的打包数字签名以及多渠道发布
原文地址:https://www.cnblogs.com/goodspeed/p/79602.html
最新文章
angular5中使用echart的方法
上传图片时遇到的尴尬
python里面如何拷贝一个对象?deepcopy 和 copy 有什么区别 ?
Python 去除列表中重复的元素
linux基本操作命令
列表推导式
Tcp下载文件
python Udp与Tcp
python切片
树-二叉树存储及遍历
热门文章
树-森林、树、二叉树的转换
树-普通树
链表
队列
栈
JDBC-Statement 对象
JDBC-连接数据库
创建一个本地端口为8001的服务器
JDBC-连接数据库代码
基于OpenCV读取摄像头进行人脸检测和人脸识别
Copyright © 2011-2022 走看看