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
}
}
查看全文
相关阅读:
npm install遇到的问题
已经安装了node和npm,输入node -v 未找到命令
虚拟机VMware搭建代码环境
使用VMware出现的各种问题
bind、delegate、on的区别
软件设计原则
Qt 模型/视图/委托
UML类图与类间六种关系表示
C++内存分配与释放
SQLite 自定义函数,聚合,排序规则
原文地址:https://www.cnblogs.com/goodspeed/p/79602.html
最新文章
XMLHTTP.readyState
百度地图得到两地点(通过经纬度)的距离、 通过经纬度获取详细地址
微信中缓存的问题
关于setTimeout()你所不知道的地方,详解setTimeout()
git Bush应用崩溃If no other git process is currently running, this probably means a git process crashed
移动端给img元素添加content: "";
线程安全单例最佳实践,C#中的Lazy是如何保证线程安全的
多线程编程,CPU是如何解决多线程内存访问问题的
目前常用的高并发处理手段
3.本地集群部署与压力测试
热门文章
2.本地集群管理环境搭建
1.服务器模拟环境
0.序
爬虫开发过程
爬虫开发过程
求数组最大值,最小值
React中使用UEditor
git commit进行代码检查
dva subscription的使用方法
dva-loading使用方法
Copyright © 2011-2022 走看看