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
}
}
查看全文
相关阅读:
区块链,去中心化应用基本知识与开发实践学习
服务铝料门窗基本资料
微信小游戏发布注意事项
2018阿里云短信发送DEMO接入简单实例
#SQL1242错误
百度站内搜索
jqGrid 手册
4步 —— 快速开始运行直播小程序
数字平滑 前端插件JS&CSS库
jqGrid 中文配置
原文地址:https://www.cnblogs.com/goodspeed/p/79602.html
最新文章
Awesome-3d
7款适合地产/房产代理中介的特殊楼层平面图软件
Magento 2 Theme Ultimate Guide
Magento 2 Plugin
传统企业-全渠道营销解决方案-1
什么是商业周期
magento2
Magento Meigee-Glam 主题的用法
Magento 架构基础知识概述
Magento 架构原则
热门文章
Magento2.X 后端开发简要1
Magento2.X 前端&综合 简要
VIM 光标移动常用命令
magento
MAGENTO for XAMPP install config -搬家配置与安装配置
mac centos linux 安装PHP扩展 INTL(国际化) ———— error: 'ext/standard/php_smart_str.h'
npm 常规错误
微信小程序Dom事件实现
智能产品参考网站
互联网产品基础知识
Copyright © 2011-2022 走看看