主窗体弹出模式子窗体,关闭模式子窗体并刷新父窗体的问题.

java_mp5 2008-01-10 02:13:09
主窗体代码
<input id="Button1" type="button" value="关闭" onclick="javascript:window.showModalDialog('Open.aspx?ID=1', this, 'dialogWidth=300px;dialogHeight=300px');" /></td>

子窗体代码
head 后面 <base target="_self" />
function test()
{
window.opener.location.reload();
self.close();
}
<input id="Button2" type="button" value="button" onclick="test();" />

为什么总是提示window.opener.location 为空或不是对象 的错误?
该怎么做?
...全文
569 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
zyjmib 2008-01-11
  • 打赏
  • 举报
回复
xuexi,明天去公司试试
cefriend 2008-01-10
  • 打赏
  • 举报
回复
刷新要示情况而定

有几种情况:

第一种,你的父窗体的数据是初始化得到的,那你子窗体关闭刷新父窗体是全部重新获取新数据

楼上的 JlinShu 说的就是这种情况


还有别的方法,


第二种,你的交窗体的数据是按查询按钮得到的,那你子窗体关闭刷新父窗体是得重新调用你父窗体的查询按钮获得新数据

function RefreshParentWindows()
{
if (window.opener != null)
{
window.opener.document.getElementById("btnSearch").click();
window.close();
}
}
</script>


JlinShu 2008-01-10
  • 打赏
  • 举报
回复
父窗口改成
onclick="javascript:window.showModalDialog('Open.aspx?ID=1', this, 'dialogWidth=300px;dialogHeight=300px');location.reload();"

模窗改成
function test()
{
window.close();
}

这样就能达到你要的效果
阿非 2008-01-10
  • 打赏
  • 举报
回复
window.showModalDialog方式


function ShowDialog(url)
{
var iWidth=300; //窗口宽度
var iHeight=200;//窗口高度
var iTop=(window.screen.height-iHeight)/2;
var iLeft=(window.screen.width-iWidth)/2;
vReturn=window.showModalDialog(url,window,"dialogHeight: "+iHeight+"px;dialogWidth: "+iWidth+"px;dialogTop: "+iTop+";dialogLeft: "+iLeft+"; resizable: no; status: no;scroll:no");
}


注意这里的第二个参数,window

在showModalDialog打开的页面内用window.dialogArguments 可以获得 window
用window.returnValue 可以设置 父窗体的 vReturn 的值 也就是 showModalDialog 的返回值
lz1201048 2008-01-10
  • 打赏
  • 举报
回复
我记得在框架下不能用window.opene的
解决方法就是你心中要有一个概念就是虽然网页是无状态的但是asp.net控件是有状态的!
yuan74521940 2008-01-10
  • 打赏
  • 举报
回复
模式窗口刷新父窗口
模式窗口中点击按钮让父窗口跳转到新的页面,不可用 opener.document.location 方式来设置,只能在父窗口把当前window对象传递到模式窗口,模式窗口使用 dialogArguments 来获得父窗口对象。

父窗口(需要把当前页面window对象传递到模式窗口页面)

<a href="javascript:Openersub('qy.htm');" >test</a>
<script>
function Openersub(strUrl)
{
var vTmd=Math.random();
var vReturn='';
var strFeature = 'dialogWidth:530px;dialogHeight:470px;status:0;scroll:1:0;help:0;';
if(strUrl.indexOf('?')>-1)
{
vReturn=window.showModalDialog(strUrl+'&tmd='+vTmd,window,strFeature);
}
else
{
vReturn=window.showModalDialog(strUrl+'?tmd='+vTmd,window,strFeature);
}

}
</script>
阿非 2008-01-10
  • 打赏
  • 举报
回复
window.dialogArguments可以获得 window.showModalDialog 方法的第二个参数,
可以把父窗体的引用传过去,这样 在子窗体中就可以
window.dialogArguments.location.reload()

来实现父窗体刷新了
阿非 2008-01-10
  • 打赏
  • 举报
回复
模式窗体用 dialogArguments.location.reload();
java_mp5 2008-01-10
  • 打赏
  • 举报
回复
好的 我试一下
阿非 2008-01-10
  • 打赏
  • 举报
回复
LZ 你试下打开非模式子窗体,有没有哪个问题
java_mp5 2008-01-10
  • 打赏
  • 举报
回复
ie6 就是 2003 带的那个版本
LikeCode 2008-01-10
  • 打赏
  • 举报
回复
IE几?!
java_mp5 2008-01-10
  • 打赏
  • 举报
回复
有人用过吗,我找不到问题在那?帮帮忙.
模块名称:茶凉专用模块 作者:茶凉 版本:2.0 本模块可以编程更简单,仅仅用核心支持库编写。 @备注: 官方论坛:http://bbs.clrje.cn/ 官方QQ群:92716369 ------------------------ -------------------------- ------------------------------ .版本 2 .程序 按键, , 公开, 执行模拟按键(无返回值) .参数 键代码, 整数型, , 键代码 .参数 状态, 整数型, 可空, 可空:按键(按下+放开) 1 #按键_ 3 #按下_ 4 #放开_ 如果状态大于等于5则为按下与放开之间的延时,可解决某些屏蔽 .参数 功能键方式, 逻辑型, 可空, 默认为普通键, 真:功能键方式模拟,如ctrl键win键home键光标键等 .程序 按键消息, , 公开, 向指定窗口句柄的窗口中发送按键消息(无返回值) .参数 窗口句柄, 整数型, , 接收消息的窗口句柄 .参数 键代码, 整数型, , 按键的键代码 .参数 状态, 整数型, 可空, 可空:按键(3+4) 1 #按键 2 功能键方式(按下+放开) 3 #按下 4 #放开 .参数 继承, 逻辑型, 可空, 默认为假:不继到窗口 真:继承到所有级窗口 .程序 按键消息处理, 逻辑型, 公开 .参数 hwnd, 整数型 .程序 按下控件, , 公开, 向指定按钮(控件)发送按钮鼠标单击的消息(无返回值) .参数 临时按钮句柄, 整数型, , 按钮控件的句柄 .参数 临时状态, 整数型, 可空, 可空:单击 3 #按下 4 #放开 .程序 按组合键, , 公开, 执行模拟组合按键(无返回值) .参数 键码, 整数型, , 键代码 .参数 功能键码1, 整数型, , 功能键代码 .参数 功能键码2, 整数型, 可空, 功能键代码(可选) .参数 功能键码3, 整数型, 可空, 功能键代码(可选) .程序 按组合键消息, , 公开, 向指定窗口句柄的窗口中发送组合按键的消息,游戏中有效!(无返回值) .参数 窗口句柄, 整数型, , 接收消息的窗口句柄 .参数 键代码, 整数型, , 按键的键代码 .参数 功能键码1, 整数型, , 功能键的键代码 .参数 功能键码2, 整数型, 可空, 功能键的键代码(可选) .参数 功能键码3, 整数型, 可空, 功能键的键代码(可选) .参数 继承, 逻辑型, 可空, 默认为假:不继到窗口 真:继承到所有级窗口 .程序 八到十, 整数型, 公开, 将八进制转换成十进制(返回十进制整数) .参数 八进制文本, 文本型, , 欲转换的八进制文本 .程序 彩色字体, , 公开, 彩色动态字体 感谢[梦飞鸟] .参数 内容, 文本型 .参数 窗口句柄, 整数型 .参数 随机渐变, 逻辑型, 可空, 不选不随机颜色 .参数 字体抖动, 逻辑型, 可空 .程序 查看字节集1, 文本型, 公开, 以易语言文本方式查看字节集,返回文本内容 如:{ 102, 204, 14, 5 } .参数 字节集, 字节集, , 欲查看的字节集 .参数 起始位置, 整数型, 可空, 查看字节集的起始查看位置 .参数 查看长度, 整数型, 可空, 查看的长度,默认为查看全部 .程序 查看字节集2, 文本型, 公开, 以十六进制文本方式查看字节集,返回文本内容 如:45 3F 58 1D 0A .参数 字节集, 字节集, , 欲查看的字节集 .参数 起始位置, 整数型, 可空, 查看字节集的起始查看位置 .参数 查看长度, 整数型, 可空, 查看的长度,默认为查看全部 .程序 超级截图, 字节集, 公开, 截取窗口或屏幕中指定区域图片(返回图片字节集,失败返回空字节集) .参数 窗口句柄, 整数型, 可空, 默认为屏幕中.指定窗口句柄,则以窗口客户区内坐标点 .参数 左上顶点_X, 整数型, 可空, 截取图片范围的左上角横坐标,留空为0 .参数 左上顶点_Y, 整数型, 可空, 截取图片范围的左上角纵坐标,留空为0 .参数 右下顶点_X, 整数型, 可空, 截取图片范围的右下角横坐标,小于左上顶点_X则为最大值-1 默认为最大值 .参数 右下顶点_Y, 整数型, 可空, 截取图片范围的右下角纵坐标,小于左上顶点_Y则为最大值-1 默认为最大值 .参数 是否后台, 逻辑型, 可空, 默认为假:可见到的颜色点 真:后台窗口内颜色点 .参数 色深, 整数型, 可空, 所截取的图片位深度,默认为16位(8,16,24,32) .程序 超级延迟, , 公开, 无资源占用的延时(无返回值) .参数 等待时间, 整数型 .程序 超级延时, , 公开, 高精度延时,cpu占用低,窗口不卡死,一次最大可延时几年 (无返回值) .参数 延时间隔, 整数型, , 1000微秒 = 1毫秒 ; 1000毫秒 = 1秒 .参数 延时单位, 整数型, 可空, 可空:毫秒 0 毫秒 1 微秒 2 秒 3 分 4 小时 5 天 .程序 窗口激活, 逻辑型, 公开, 激活指定窗口,将窗口设置到前台 .参数 句柄, 整数型, , 欲带到前台的窗口 .程序 窗口禁止, 逻辑型, 公开, 在窗口中允许或禁止所有鼠标及键盘输入(成功返回真,失败返回假) .参数 窗口句柄, 整数型, , 欲禁止鼠标键盘输入的窗口或控件的句柄 .参数 是否禁止, 逻辑型, 可空, 默认为真:禁止 假:取消禁止 .程序 窗口禁止关闭, 逻辑型, 公开, 控制窗口关闭按钮,(允许/禁止)关闭窗口 (成功返回真,失败返回假) .参数 窗口句柄, 整数型, , 欲禁止或解除禁止的窗口句柄 .参数 禁止关闭, 逻辑型, 可空, 可空为禁止关闭, 假:允许关闭, 真:禁止关闭 .程序 窗口是否当前, 逻辑型, 公开, 判断指定窗口是否为当前窗口(为当前接收按键消息的窗口返回真,否则返回假) .参数 进程名, 文本型, 可空, 欲判断窗口的程序进程名(注意区分大小写) .参数 窗口类名, 文本型, 可空, 欲判断窗口的类名(注意区分大小写) .参数 窗口标题, 文本型, 可空, 欲判断窗口的标题关键字 .程序 窗口透明化, 逻辑型, 公开, 设置窗口透明状态(成功返回真,失败返回假) .参数 临时句柄, 整数型, , 设置透明化窗口的句柄 .参数 临时透明度, 字节型, 可空, 设置整个窗口的透明度 取值范围是[0,255] 可空为不设定此参数 .参数 临时透明色, 整数型, 可空, (#颜色)指定某颜色为完全透明(完全透明处不属于该窗口) 可空为不指定 .参数 鼠标穿透, 逻辑型, 可空, 可空为假 真:窗口被鼠标穿透 .程序 窗口图标隐藏, , 公开, 将窗口的图标清除 .参数 窗口句柄, 整数型 .程序 窗口销毁, , 公开, 将指定窗口销毁(无返回值) .参数 临时句柄, 整数型, , 欲销毁窗口的句柄 .程序 窗口移动, , 公开, 移动指定窗口(无返回值) .参数 临时句柄, 整数型, , 欲移动窗口的句柄 .参数 窗口新左边, 整数型, 可空, 可空:原左边不变 .参数 窗口新顶边, 整数型, 可空, 可空:原顶边不变 .参数 窗口新宽度, 整数型, 可空, 可空:原宽度不变 .参数 窗口新高度, 整数型, 可空, 可空:原高度不变 .程序 窗口隐藏显示, 逻辑型, 公开, 显示隐藏指定句柄的窗口(如果显示则隐藏:返回假,如果隐藏则显示:返回真) .参数 窗口句柄, 整数型, 可空, 要显示/隐藏的窗口句柄(可空:则显示/隐藏上次的窗口,如果为初次使用则为当前窗口) .程序 窗口置, 整数型, 公开, 指定一个窗口的新(返回前一个窗口的句柄) .参数 窗口句柄, 整数型, , 窗口句柄 .参数 新, 整数型, 可空, 新的窗口句柄 默认为0:置顶级窗口 -1:嵌入桌面 .程序 窗口置焦点, 逻辑型, 公开, 将输入焦点设到指定的窗口。如有必要,会激活窗口.不能对最小化窗口设置(成功返回真,失败返回假) .参数 句柄, 整数型, , 欲置焦点的窗口句柄 .程序 窗口状态控制, 逻辑型, 公开, 控制窗口状态(成功返回真,失败返回假) .参数 临时句柄, 整数型, , 窗口句柄 .参数 状态, 整数型, , 0 隐藏取消激活 1 还原激活 2 最小化激活 3 最大化激活 4 还原 6 最小化取消激活 7 最小化 9 还原激活 .程序 窗口最大化, , 公开, 将指定窗口最大化(无返回值) .参数 临时句柄, 整数型, , 欲最大化窗口的句柄 .程序 窗口最前, , 公开, 将指定窗口设为总在最前.(注意参数2,真:总在最前) .参数 句柄, 整数型, , 欲设置的窗口句柄 .参数 是否总在最前, 逻辑型, 可空, 默认为假:取消总在最前 真:总在最前 .程序 窗口最小化, , 公开, 将指定窗口最小化(无返回值) .参数 临时句柄, 整数型, , 欲最小化窗口的句柄 .程序 创建程序快捷方式, 逻辑型, 公开, 创建程序快捷方式 (成功返回真,失败返回假) .参数 lnk名称, 文本型, , 快捷方式保存全路径文件名 .参数 目标, 文本型, , 指向的文件全路径文件名 .参数 参数文本, 文本型, 可空, 执行文件的参数 .参数 图标文件, 文本型, 可空, 图标文件的路径 可空:为空时用目标的第一个图标 .参数 运行方式, 整数型, 可空, 1,常规方式,3,最大化,7,最小化 .参数 备注, 文本型, 可空, 快方式的备注信息 .参数 快捷键, 文本型, 可空, 启动快捷方式的快捷键 如“Ctrl+Alt+Y” .程序 创建定时器, 整数型, 公开, 返回成功创建定时器的标志 .参数 窗口句柄, 整数型, 可空, 为空则为系统级定时器(通常为空) .参数 时钟周期, 整数型, , 毫秒级单位 1秒=1000毫秒 .参数 定时器事件处理, 程序指针, , 定时器触发事件 .程序 创建多级目录, 逻辑型, 公开, 成功返回真,失败返回假 .参数 目录路径, 文本型 .程序 创建进程, 整数型, 公开, 创建一个程序进程(成功返回进程ID,失败返回0) .参数 程序路径, 文本型, , 欲创建进程的执行路径 .参数 命令行, 文本型, 可空, 附加上程序路径后的命令行参数 .参数 运行目录, 文本型, 可空, 通常留空,特殊情况下使用 .参数 进程结构, 进程结构, 参考 可空, 接收进程结构信息的变量 .程序 创建网页快捷方式, 逻辑型, 公开, 创建网页快捷方式 (成功返回真,失败返回假) .参数 保存路径, 文本型, , 全路径文件名 .参数 网页地址, 文本型, , URL .参数 ico图标, 文本型, 可空, 图标路径 可空:默认为网页快捷方式图标 .参数 快捷键, 整数型, 可空, CTRL+ALT+? (A=1601 B=1602 C=1603 ...) .程序 创建线程, 整数型, 公开, 创建一个线程来启动程序(返回线程句柄) .参数 线程程序, 程序指针, , 欲启动的线程程序指针 .参数 传递参数, 整数型, 可空 .程序 打开网页, 逻辑型, 公开, 打开指定网址(成功返回真,失败返回假) .参数 网址, 文本型, , 欲打开的网页地址 .程序 弹出光驱, 逻辑型, 公开, 弹出光驱门。 mciSendString .程序 到短路径, 文本型, 公开, 取指定路径的短路径名(返回收缩后的路径,无效返回空文本)如: c:\program files\ 收缩后为:C:\PROGRA~1\ .参数 文件名, 文本型, , 原路径 .程序 到任意进制, 文本型, 公开, 可以将从二进制到三十六进制的数值随意进行转换(返回转换后的文本) .参数 被转换文本, 文本型, , 欲被转换的文本(不可以转换负数以及小数) .参数 被转换进制, 整数型, , 被转换文本的进制(2-36之间) .参数 转换的进制, 整数型, , 要转换到的进制(2-36之间) .程序 到十进制, 整数型, 公开, 将2,8,16进制文件转换到10进制数值(返回十进制数) .参数 文本, 文本型, , 2,8,16进制文件 .参数 进制, 整数型, 可空, 默认为十六进制 2为二进制,8为八进制,16为16进制 .程序 读磁盘扇区, 逻辑型, 公开 .参数 扇区号, 整数型 .参数 扇区内容, 字节集 .程序 读内存长整数型, 长整数型, 公开, 从内存中读取长整数型数据,失败返回失败内容 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 失败内容, 长整数型, 可空, 读内存失败后返回值的内容 默认为-1 .程序 读内存短整数型, 短整数型, 公开, 从内存中读取短整数型数据,失败返回失败内容 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 失败内容, 短整数型, 可空, 读内存失败后返回值的内容 默认为-1 .程序 读内存日期时间型, 日期时间型, 公开, 从内存中读取日期时间型数据,失败将返回100年1月1日 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .程序 读内存双精度小数型, 双精度小数型, 公开, 从内存中读取双精度小数型数据,失败返回失败内容 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 失败内容, 双精度小数型, 可空, 读内存失败后返回值的内容 默认为-1 .程序 读内存文本型, 文本型, 公开, 从内存中读取文本型数据(返回文本,失败返回0字节长度空内容) .参数 进程ID, 整数型 .参数 内存地址, 整数型 .程序 读内存小数型, 小数型, 公开, 从内存中读取小数型数据,失败返回失败内容 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 失败内容, 小数型, 可空, 读内存失败后返回值的内容 默认为-1 .程序 读内存整数型, 整数型, 公开, 从内存中读取整数型数据,失败返回失败内容 .参数 进程ID, 整数型 .参数 内存地址, 整数型 .参数 失败内容, 整数型, 可空, 读内存失败后返回值的内容 默认为-1 .程序 读内存程序指针, 程序指针, 公开, 从内存中读取程序指针,失败返回空指针 .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .程序 读内存字节集, 字节集, 公开, 从内存中读取字节集数据(返回字节集,失败返回0字节长度的空字节集) .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 长度, 整数型, 可空, 欲读取内存数据的长度 (留空则智能读取) .程序 读内存字节型, 字节型, 公开, 从内存中读取一个字节,失败返回失败内容(0-255) .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 失败内容, 字节型, 可空, 读内存失败后返回的内容 默认为0 .程序 读物理内存, 字节集, 公开, 失败返回{},成功返回相应数据 (进程隐藏) .参数 地址, 长整数型 .参数 长度, 整数型, , <=4096 .程序 读游戏内存文本, 文本型, 公开, 读取内存地址数据 .参数 进程ID, 整数型, , 游戏进程标识符 .参数 基址, 文本型, , 欲读取的内存基址(十六进制) .参数 偏移1, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移2, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移3, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移4, 文本型, 可空, 没有请留空 (十六进制) .程序 读游戏内存整数, 整数型, 公开, 读取内存地址数据 .参数 进程ID, 整数型, , 游戏进程标识符 .参数 基址, 文本型, , 欲读取的内存基址(十六进制) .参数 偏移1, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移2, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移3, 文本型, 可空, 没有请留空 (十六进制) .参数 偏移4, 文本型, 可空, 没有请留空 (十六进制) .程序 对话框_打开保存, 文本型, 公开, 返回打开文件名,取消则返回空文本。 .参数 窗口, 整数型 .参数 过滤器, 文本型, , 例:"文本文件(*.txt),*.txt|excel与word,*.xls;*.doc" .参数 类型, 整数型 .程序 对话框_颜色选择, 整数型, 公开 .参数 窗口, 整数型 .程序 对话框_字体选择, 整数型, 公开 .参数 窗口, 整数型 .参数 返回结果, 模块_字体信息, 参考 .程序 二到十, 整数型, 公开, 将二进制转换成十进制(返回十进制整数) .参数 二进制文本, 文本型, , 欲转换的二进制 .程序 发送字符串, , 公开, sendkeys 将一个或多个按键消息发送到指定窗口,就如同用键盘进行输入一样 (无返回值) .参数 窗口标题, 文本型, 可空, 向指定窗口发送.窗口标题关键字 .参数 文本, 文本型, , 字符串表达式,指定要发送的按键消息(详情见百度sendkeys词条) .参数 等待, 逻辑型, 可空, 指定等待方式的值 默认为假:按键发送出去立刻返回 真:按键消息在返回到过程之前加以处理 .程序 发送字符串1, , 公开, sendkeys 将一个或多个按键消息发送到活动窗口,就如同用键盘进行输入一样 (无返回值) .参数 文本, 文本型, , 字符串表达式,指定要发送的按键消息(详情见百度sendkeys词条) .参数 等待, 逻辑型, 可空, 指定等待方式的值 默认为假:按键发送出去立刻返回 真:按键消息在返回到过程之前加以处理 .程序 复制文件夹, 逻辑型, 公开, 成功返回真,失败返回假 .参数 被复制的文件夹, 文本型 .参数 复制到的文件夹, 文本型 .参数 是否处理事件, 逻辑型, 可空 .程序 更改标题, 逻辑型, 公开, 更改指定窗口句柄的窗口标题(成功返回真,失败返回假) .参数 窗口句柄, 整数型, 可空, 可空:则更改当前窗口的标题 .参数 新标题, 文本型, , 新的窗口标题 .程序 更改类名, 文本型, 公开, 更改一次指定类名(必须在欲更改的类名的程序运行前-执行)(如果成功则返回更改后的类名) .参数 新类名, 文本型, 可空, 更改后的新类名 可空为随机类名5-20位随机字母数字的组合 .参数 旧类名, 文本型, 可空, 欲更改的类名 可空则默认为易语言程序窗口类名“Afx:10000000:b:10011:1900015:0” .程序 关闭光驱, 逻辑型, 公开, 关闭光驱门。 mciSendString .程序 关闭系统, , 公开, 提供关闭或重新启动计算机 .参数 关闭方式, 整数型, 可空, 默认为1 关机 2 重启 3 注销 .参数 是否强制执行, 逻辑型, 可空, 是否不等待其它程序退出,直接执行,默认为假 .程序 还原字节集1, 字节集, 公开, 还原易语言形式字节集的文本到字节集 .参数 文本, 文本型, , 如: { 102, 204, 14, 5 } .程序 还原字节集2, 字节集, 公开, 还原十六进制字符串形式字节集的文本到字节集 .参数 文本, 文本型, , 如: 45 3F 58 1D 0A .程序 剪贴板_枚举当前可用格式, 整数型, 公开, 返回可用格式数量和可用格式类型(相当于CountClipboardFormats和EnumClipboardFormats),数值具体含义请上网搜索。 .参数 结果数组, 整数型, 参考 可空 数组, 留空则只返回可用格式数量。 .程序 剪贴板_清空, 逻辑型, 公开, 清空剪贴板内所有数据。 .程序 剪贴板_取HTML, 文本型, 公开, 取剪贴板中的HTML数据。 .程序 剪贴板_取图片, 字节集, 公开, 取已复制到剪贴板的图片数据(包括从网页上复制下来的图片),返回的图片格式为位图。 .程序 剪贴板_取文本, 文本型, 公开, 取已复制到剪贴板中的文本。 .程序 剪贴板_取文件, 整数型, 公开, 取已经复制到剪贴板的文件名,返回文件个数。 .参数 文件列表, 文本型, 参考 可空 数组, 留空则只返回文件数量。 .参数 状态, 逻辑型, 参考 可空, 用来接收文件列表中这些文件的状态:返回真代表这些文件待移动(即用户对文件执行了剪切操作);返回假代表这些文件待粘贴(即用户对文件执行了复制操作)。 .程序 剪贴板_置图片, 逻辑型, 公开, 将指定图片复制到剪贴板。 .参数 图片, 字节集 .程序 剪贴板_置文本, 逻辑型, 公开, 将指定文本复制到剪贴板。 .参数 文本, 文本型 .程序 剪贴板_置文件, 逻辑型, 公开, 将指定文件复制到剪贴板,成功返回真,失败返回假。 .参数 文件列表, 文本型, 数组, 欲复制到剪贴板的文件列表 .参数 状态, 逻辑型, 可空, 设置当前的文件状态,默认为假。真表示文件待移动(相当于对文件列表里的文件执行剪切操作);假表示文件待粘贴(相当于对文件列表里的文件执行复制操作)) .程序 进程结束, 逻辑型, 公开, 终止一个进程(成功返回真,失败返回假) .参数 进程ID, 整数型, , 欲结束的进程ID .程序 进程枚举, 整数型, 公开, 失败返回0,成功返回进程数量(该命令为高级成员命令) .参数 进程信息, 进程信息型, 可空 数组, 返回的进程信息 数组 .程序 进程取ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回-1) .参数 进程名, 文本型, , 程序进程名 .参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写 .程序 进程取ID数组, 整数型, 公开, 取指定进程名称的所有进程的进程ID(返回进程ID数目,没有返回0) .参数 进程ID数组, 整数型, 可空 数组, 存放进程ID数组变量 .参数 进程名, 文本型, , 程序进程名 .参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写 .程序 进程是否存在, 逻辑型, 公开, 判断指定进程是否存在(此判断与进程其它信息无关联)(存在返回真,不存在或失败返回假) .参数 进程名, 文本型, , 欲检测的进程名 .程序 进程是否有效, 逻辑型, 公开, 判断进程ID是否有效(有效返回真,无效或失败返回假) .参数 进程ID, 整数型, , 欲检测的进程标识 .程序 进程隐藏, 整数型, 公开, 通过断链方式隐藏进程(返回链表值,用于恢复该进程,失败返回-1) .参数 进程ID, 整数型, 可空, 目的进程ID (默认自进程ID) .参数 链表值, 整数型, 可空, 欲还原的进程链表地址值 如果隐藏进程请留空 .程序 进程暂停, 逻辑型, 公开, 将指定进程暂停(成功返回真,失败返回假) .参数 进程ID, 整数型, , 欲被暂停进程的进程ID .参数 状态, 逻辑型, 可空, 可空为真:暂停进程 假:恢复进程 .程序 禁止关闭系统, , 公开, 可以禁止计算机关机、重启、注销 ;注意在调试状态无效 .参数 窗口句柄, 整数型 .程序 句柄是否有效, 逻辑型, 公开, 判断窗口句柄是否有效(返回真,无效返回假) .参数 窗口句柄, 整数型 .程序 控件消息, , 公开, 向指定控件中投递消息,更多常量可参考windows消息大全 .参数 窗口句柄, 整数型 .参数 消息类型, 整数型, , #消息_复制 #消息_粘贴 #消息_全选 #消息_清空 #消息_删除 #消息_剪切 #消息_撤销 #消息_获得焦点 #消息_失去焦点 #消息_单击 #消息_右击 #消息_销毁 #消息_退出 #消息_结束 .程序 路径收缩, 文本型, 公开, 将指定路径收缩(返回收缩后的路径,无效返回空文本)如: c:\program files\ 收缩后为:c:\progra~1\ .参数 路径, 文本型, , 欲收缩的路径 .程序 枚举窗口, 整数型, 公开, 枚举所有窗口,返回窗口句柄数目,失败返回0 .参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组 .程序 枚举窗口线程, 整数型, 公开, 枚举所有窗口线程标识符,返回窗口线程标识符数目,失败返回0 .参数 线程数组, 整数型, 可空 数组, 返回的所有窗口线程ID数组 .程序 枚举窗口信息, 整数型, 公开, 枚举所有可见窗口的句柄的窗口信息(返回数组数目,失败返回0) .参数 临时窗口信息, 窗口信息型, 数组, 枚举出来的窗口信息数组 .程序 枚举任务窗口, 整数型, 公开, 枚举指定窗口线程相关联的窗体句柄,返回窗口句柄数目,失败返回0 .参数 窗口句柄, 整数型 .参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组 .程序 枚举窗口, 整数型, 公开, 枚举指定窗口的所有级窗口或控件句柄,支持不可见窗口或控件,返回句柄数目,失败返回0 .参数 窗口句柄, 整数型, 可空, 指定窗口句柄.如果窗口为0,则取出所有顶级窗口(含不可见窗口) .参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组 .程序 模块_关闭所有媒体, 整数型, 公开, 关闭所有已经打开的媒体。注意:该操作对所有使用MCI进行播放的媒体都有效!返回0表示命令成功完成,返回非零表示命令失败。 .程序 模块_毫秒到时间, 文本型, 公开, 将毫秒值转换为诸如:"3:03:12"之类的文本格式 .参数 参_毫秒值, 整数型 .程序 模块_取错误信息文本, 文本型, 公开, 根据各种命令执行后返回的数值查询相应的文本说明。 .参数 参_错误代码, 整数型, , 支持类中对多媒体操作的各种方法的整型返回值 .程序 模块_取字节集位图句柄, 整数型, 公开, 仅支持24位色位图 .参数 参数_字节集位图, 字节集 .程序 模块_设置窗口, , 公开, 把易控件放入到自建控件内。注意:易中的标准控件可能变得不响应事件:如按扭、列表框、树形框 .参数 参数_易控件句柄, 整数型 .参数 参数_窗口, 整数型, , 自建控件句柄 .程序 模块_设置字体, , 公开, 给指定的窗口设置字体 .参数 参窗口句柄, 整数型 .参数 参字体名, 文本型 .参数 参字号大小, 整数型, 可空 .参数 加粗, 逻辑型, 可空 .参数 斜体, 逻辑型, 可空 .参数 下划线, 逻辑型, 可空 .参数 删除线, 逻辑型, 可空 .程序 魔法字体, , 公开, 彩色动态字体[我自己的] .参数 内容, 文本型, , 欲加入的内容 .参数 对象句柄, 整数型, , 要加入控件句柄 .参数 随机渐变, 逻辑型, 可空, 真为随机渐变 ,假 不进行随机渐变 .参数 字体抖动, 逻辑型, 可空, 真为字体抖动 ,假 不进行字体抖动 .程序 目录是否存在, 逻辑型, 公开, 判断指定目录是否存在(存在返回真,不存在返回假) .参数 目录名, 文本型, , 欲判断的目录 .程序 内存搜索, 整数型, 公开, 进行首次内存搜索(返回结果数目,失败或没有返回0) .参数 进程ID, 整数型, , 进程ID .参数 搜索内容, 字节集, , 欲搜索的内容 其他类型-需自行转换为字节集类型 .参数 结果地址, 整数型, 数组, 用来保存搜索的结果 .程序 内存搜索整数, 整数型, 公开, 针对上次的搜索进行对内存数值的变化进行再一次搜索(返回结果数目,失败或没有返回0) .参数 结果地址, 整数型, 数组, 用来保存搜索的结果 .参数 搜索的整数, 整数型, , 从上一次搜索结果地址中再次搜索的整数,也可以是模糊搜索 #内存_不变的数值 #内存_变大的数值 #内存_变小的数值 #内存_改变的数值 .程序 内存优化, , 公开, 内存优化,其实就是将实际内存转移至虚拟内存,以减少内存占用,周期中使用 .程序 内存再次搜索, 整数型, 公开, 针对上次的搜索进行再一次搜索(返回结果数目,失败或没有返回0) .参数 结果地址, 整数型, 数组, 用来保存搜索的结果 .参数 搜索的数据, 字节集, , 从上一次搜索结果地址中再次搜索的数据内容 .程序 内存中运行EXE, 逻辑型, 公开, 可以直接运行资源中的程序,不必释放。成功返回真,失败返回假。 .参数 欲执行的程序, 字节集, , 欲执行的程序,不支持某些加了壳的程序,请自行测试。 .参数 命令行, 文本型, 可空, 为程序提供的命令行参数,不需要请留空。 .参数 外壳程序路径, 文本型, 可空, 外壳程序的路径(如果用系统程序做外壳,如cmd.exe、svchost.exe,可以实现穿防火墙,呵呵),不支持某些程序,请自行测试;不在当前目录下要提供绝对路径;留空默认为cmd.exe,如果无法运行,请换用不同的程序尝试。 .参数 等待程序运行完毕, 逻辑型, 可空, 默认为假,即不等待。 .参数 窗口显示方式, 整数型, 可空, 1#隐藏窗口; 2#普通激活; 3#最小化激活; 4#最大化激活; 5#普通不激活; 6#最小化不激活。如果省略本参数,默认为“普通激活”方式。 .参数 运行信息, 运行信息, 参考 可空, 用来接收在内存中执行的exe的运行信息(进程、线程的句柄和ID)。不需要可留空。 .程序 强力打开进程, 整数型, 公开 .参数 读取方式, 整数型 .参数 继承, 逻辑型 .参数 PID, 整数型, , 进程的进程标识符 .程序 强力结束进程, 逻辑型, 公开 .参数 进程句柄, 整数型 .参数 退出状态, 整数型, , 退出0 .程序 强力枚举窗口, 整数型, 公开, 强力穷举窗口句柄,不得以而为之.(成功返回有效窗口句柄的数目,失败返回0) .参数 窗口句柄, 整数型, 可空 数组, 用于存放窗口句柄的数组变量 .程序 强力取句柄, 整数型, 公开, 强力穷举窗口句柄,不得以而为之.(成功返回窗口句柄,失败返回-1) .参数 窗口标题, 文本型, 可空, 可以是窗口标题的关键字.如果重复上次获取下一个窗口请留空. .程序 取API错误信息, 文本型, 公开, 针对之前调用的api函数,用这个函数取得扩展错误信息 .程序 取CPU序列号, 文本型, 公开, 获取CPU序列号 .程序 取DOS返回, 文本型, 公开, 取出一个dos命令的返回信息 .参数 dos命令, 文本型, , 欲执行的dos命令 .参数 即时回显, 程序指针, 可空, DOS即时回显信息回调函数 回调DOS函数(回显信息) 返回逻辑值,真:停止,假:继续 .程序 取MAC地址, 文本型, 公开, 获取网卡MAC地址(如:00:53:45:00:00:00) .程序 取System32目录, 文本型, 公开 .程序 取本机IP, 整数型, 公开, 返回IP数 .参数 欲装载的数组, 文本型, 可空 数组, 取出来的IP .程序 取标题, 文本型, 公开, 取指定窗口句柄的窗口标题(返回窗口标题,失败返回空文本) .参数 窗口句柄, 整数型, , 指定的窗口句柄 .程序 取操作系统, 文本型, 公开, 获取操作系统信息 .参数 版本号, 文本型, 可空, 获取的操作系统的版本号 .参数 内部版本号, 文本型, 可空, 获取的操作系统的内部版本号 .程序 取程序路径, 文本型, 公开, 取指定进程名的程序启动路径(成功返回路径,失败或进程不存在返回空) .参数 进程名, 文本型, , 程序进程名 .参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写 .程序 取程序命令行, 文本型, 公开, 取指定程序的命令行参数,要求取命令行程序权限不低于被取程序的权限(返回命令行参数,无命令行或失败返回空文本) .参数 进程名, 文本型, , 欲取命令行参数的进程名 .参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写 .程序 取窗口进程, 文本型, 公开, 取指定窗口句柄的窗口程序进程名(返回进程名,失败返回空文本) .参数 窗口句柄, 整数型 .程序 取窗口进程ID, 整数型, 公开, 取指定窗口句柄的窗口进程ID(返回进程ID,失败返回-1) .参数 窗口句柄, 整数型 .程序 取窗口内大小, , 公开, 取指定窗口句柄的窗口客户区的大小 .参数 窗口句柄, 整数型, 可空, 可空:则取当前窗口大小 .参数 临时宽度, 整数型, 参考, 返回的窗口宽度 .参数 临时高度, 整数型, 参考, 指定的窗口高度 .程序 取窗口内顶点, 坐标型, 公开, 取指定窗口句柄的窗口客户区(左上角)顶点位置 .参数 窗口句柄, 整数型, 可空, 可空:则取当前窗口句柄的位置 .程序 取窗口线程ID, 整数型, 公开, 取指定窗口句柄的窗口线程ID(返回进程ID,失败返回0) .参数 窗口句柄, 整数型 .程序 取磁盘序列号, 整数型, 公开, 取得指定磁盘的序列号(成功返回磁盘的序列号,失败返回0,如果是读卡器或光驱或软驱等没有插入卡或光盘或软盘将会失败) .参数 盘符, 文本型, , 欲取序列号的磁盘盘符 (如: F:) .参数 卷标, 文本型, 参考 可空, 用于存放卷名(卷标)的变量 .参数 系统名称, 文本型, 参考 可空, 用于存放文件系统名称的变量 (如FAT,NTFS以及其他) .程序 取当前窗口, 整数型, 公开, 取得当前位于前台窗口句柄(返回句柄,失败返回0) .程序 取当前窗口, 整数型, 公开, 取得当前位于前台的级窗口句柄(返回句柄,失败返回0) .程序 取点标题, 文本型, 公开, 取出指定点的组件上的文字内容或标题(返回文字内容) .参数 水平位置, 整数型, 可空, (可空为鼠标当前坐标x) 文字所在的x坐标“X轴光标” .参数 垂直位置, 整数型, 可空, (可空为鼠标当前坐标y) 文字所以的y坐标“Y轴光标” .程序 取点颜色, 整数型, 公开, 取屏幕中或窗口区域某点颜色值或颜色属性 .参数 窗口句柄, 整数型, 可空, 默认为屏幕 .参数 X, 整数型 .参数 Y, 整数型 .参数 类型, 整数型, 可空, 默认为0颜色值 1 #R色 2 #G色 3 #B色 6 #色彩度 .程序 取分辨率, , 公开, 获取屏幕分辨率(无返回值) .参数 色深, 短整数型, 参考 可空 .参数 屏幕宽度, 短整数型, 参考 可空 .参数 屏幕高度, 短整数型, 参考 可空 .参数 屏幕刷新率, 短整数型, 参考 可空 .程序 取进程ID, 整数型, 公开, 取得级进程ID,失败返回-1 .参数 进程ID, 整数型 .程序 取汉字笔画, 整数型, 公开, 返回指定单个汉字的笔画数,支持6725个常用汉字。 .参数 汉字, 文本型 .程序 取计算机名, 文本型, 公开, 获取计算机名 .程序 取焦点句柄, 整数型, 公开, 取光标焦点处窗口句柄(返回句柄,失败返回0) .程序 取进程ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回0) .参数 进程名, 文本型, , 区分大小写 .程序 取进程窗口, 整数型, 公开, 通过进程ID取出指定进程的所有顶级窗口句柄(返回该进程中所有顶级窗口句柄的数目,失败返回0) .参数 进程ID, 整数型, , 窗口所在进程ID .参数 所有窗口, 整数型, 可空 数组, 返回该进程中所有顶级窗口句柄 .程序 取进程窗口信息, 整数型, 公开, 获取指定进程的窗口信息(返回进程的窗口句柄,失败返回0) .参数 进程ID, 整数型 .参数 焦点窗口, 整数型, 参考 可空, 在窗口非激活状态没有获得焦点,将得到0值 .参数 焦点横坐标, 整数型, 参考 可空, 在窗口非激活状态没有获得焦点,将得到0值 .参数 焦点纵坐标, 整数型, 参考 可空, 在窗口非激活状态没有获得焦点,将得到0值 .程序 取进程路径, 文本型, 公开, 取指定进程的程序启动路径(成功返回路径,失败或进程不存在返回空) .参数 进程ID, 整数型 .程序 取进程路径及命令行1, 文本型, 公开, 获取目标进程的映像路径及命令行参数。(失败返回空文本) .参数 进程ID, 整数型 .程序 取进程路径及命令行2, 逻辑型, 公开, 获取目标进程的映像路径及命令行参数。成功返回真,失败返回假。 [斩月] .参数 lpstrImagePathAndCommandLine, 文本型, 参考, 用于保存目标进程的映像路径及命令行参数的文本型变量 .程序 取进程名, 文本型, 公开, 通进进程ID取得该进程文件名 .参数 进程ID, 整数型 .程序 取进程命令行, 文本型, 公开, 取指定进程的命令行参数,要求取命令行程序权限不低于被取程序的权限(返回命令行参数,无命令行或失败返回空文本) .参数 进程ID, 整数型 .程序 取进程模块, 整数型, 公开, 失败为0,成功返回模块数量(该命令为高级成员命令) .参数 进程ID, 整数型, 可空, 为空 则取当前进程模块 .参数 模块信息数组, 模块信息型, 可空 数组, 返回的模块信息 数组 .程序 取进程用户名, 文本型, 公开, 通进进程ID取得该进程权限的用户名 .参数 进程ID, 整数型 .程序 取句柄1, 整数型, 公开, 通过进程,类名或标题关键字来取窗口句柄(返回第一个符合条件的句柄,失败返回-1) .参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写) .参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名 .参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字,模糊匹配 .程序 取句柄2, 整数型, 公开, 通过任务关系的所有窗口与类名标题关键字来判断获取句柄(返回第一个符合条件的句柄,失败返回-1)(至少指定两个条件,以确保准确性) .参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写) .参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名 .参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字,模糊匹配 .程序 取句柄数组1, 整数型, 公开, 通过进程,类名或标题关键字来取窗口句柄(返回符合条件的句柄数目,失败返回0) .参数 句柄数组, 整数型, 数组, 返回的窗口句柄数组 .参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写) .参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名 .参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字 .程序 取句柄数组2, 整数型, 公开, 通过任务关系的所有窗口与类名标题关键字来判断获取句柄(返回符合条件的句柄数目,失败返回0)(勿必指定多个条件,以确保准确性) .参数 句柄数组, 整数型, 数组, 返回的窗口句柄数组 .参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写) .参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名 .参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字 .程序 取快捷方式指向, 文本型, 公开, 获取指定快捷方式指向的文件路径 .参数 lnk名称, 文本型, , 快捷方式文件名全路径文件名 .程序 取类名, 文本型, 公开, 取指定窗口句柄的窗口类名(返回窗口类名,失败返回空) .参数 窗口句柄, 整数型, , 指定的窗口句柄 .程序 取浏览器版本, 文本型, 公开, 获得IE的版本(返回IE版本) .参数 内部版本号, 文本型, 可空, 获以的内部版本号 .程序 取路径文件名, 文本型, 公开, 取指定路径中的文件名(返回文件名) .参数 路径, 文本型, , 完整路径 .程序 取模块路径, 文本型, 公开, 取出当前进程模块所在目录路径,失败返回空 .参数 模块名, 文本型, 可空, 默认为执行文件名 模块名如:krnln.fne,kernel32.dll,User32.dll .程序 取配置项名称, 整数型, 公开, 取配置文件指定节名中所有配置项名称(成功返回配置项名称数目,失败返回-1) .参数 配置文件名, 文本型, , 指定配置文件的名称,通常以.ini作为文件名后缀(可为任意后缀) .参数 节名称, 文本型, , 包含欲读入配置项所处节的名称。 .参数 配置项名称, 文本型, 参考 数组, 返回节名中所有配置项名称的文本数组 .程序 取驱动器列表, 整数型, 公开, 返回驱动器数量 .参数 保存驱动器列表, 文本型, 可空 数组 .参数 类型, 整数型, 可空, 默认为0所有驱动器 1 硬盘驱动器 2 光盘驱动器 3 可移动驱动器 4 网络驱动器。 .程序 取鼠标坐标, 坐标型, 公开, 取当前鼠标所在坐标(返回坐标) .参数 句柄, 整数型, 可空, 鼠标坐标所在的窗口句柄,取出鼠标所在窗口中的坐标 可空为:在屏幕中的坐标 .程序 取特殊目录, 文本型, 公开, 取特定的目录(返回所要取的指定目录名 无效返回空) .参数 欲获取目录类型, 整数型, 可空, 0我的桌面 1临时目录 5我的文档 6我的收藏夹 7我的启动 11我的开始菜单 20系统字体 36Windows安装目录 37系统目录 [99更多] .程序 取文件创建时间, 日期时间型, 公开 .参数 文件名, 文本型 .程序 取文件访问时间, 日期时间型, 公开 .参数 文件名, 文本型 .程序 取文件夹尺寸, 双精度小数型, 公开, (成功返回文件夹尺寸,失败返回-1) .参数 文件夹路径, 文本型 .参数 文件夹数量, 整数型, 参考 可空, 保存文件夹数量 .参数 文件数量, 整数型, 参考 可空, 保存文件数量 .参数 是否处理事件, 逻辑型, 可空 .程序 取文件修改时间, 日期时间型, 公开 .参数 文件名, 文本型 .程序 取系统进程, 整数型, 公开, NT方式取得系统中所有进程,返回进程数 .参数 进程名数组, 文本型, 参考 数组, 存放进程名的数组变量 .程序 取系统目录, 文本型, 公开 .程序 取系统用户名, 文本型, 公开, 获取当前系统的用户名 .程序 取线程窗口, 整数型, 公开, 通过窗口的线程标识符获取窗口句柄(成功返回窗口句柄,失败返回0) .参数 线程ID, 整数型, 可空, 如果线程ID为空,则取当前线程 .程序 取硬件信息码, 文本型, 公开, 通过CPU硬盘等硬件综合信息,取得本机独特的硬件信息码(成功返回32位码,失败返回4位码)(内置多种复杂混合算法) .参数 密码, 文本型, , 输入相应的密码 .程序 取运行目录_, 文本型, 公开, 取当前被执行的程序文件所处的目录,调试时为执行文件所释放到的目录而不是易语言源代码目录! .程序 取窗口, 整数型, 公开, 查找指定窗口的级窗口(返回窗口句柄) .参数 句柄, 整数型, 可空, 指定窗口句柄 可空:为桌面.找顶级窗口 .参数 类名, 文本型, 可空, 欲查找的窗口类名 .参数 标题, 文本型, 可空 .参数 起始句柄, 整数型, 可空, 从该句柄后开始查找, 可空:找第一个符合条件的 .程序 取坐标句柄, 整数型, 公开, 取指定坐标位置所在窗口组件的句柄(返回句柄) .参数 水平位置, 整数型, , 句柄组件的x坐标“X轴光标” .参数 垂直位置, 整数型, , 句柄组件的y坐标“Y轴光标” .程序 取坐标距离, 整数型, 公开, 返回两坐标点之间的距离 .参数 坐标1, 坐标型 .参数 坐标2, 坐标型 .程序 十到八, 文本型, 公开, 将十进制转换成八进制(返回八进制文本) .参数 十进制数, 长整数型, , 欲转换的十进制数 .程序 十到二, 文本型, 公开, 将十进制转换成二进制(返回二进制文本) .参数 十进制数, 整数型, , 欲转换的十进制 .程序 十到十六, 文本型, 公开, 将十进制转换成十六进制(返回十六进制文本) .参数 十进制数, 长整数型, , 待转换的十进制数 .参数 是否不去零, 逻辑型, 可空, 默认为假:去0 真:不去0 .程序 十六到十1, 整数型, 公开, 将十六进制转换成十进制(返回十进制文本) .参数 十六进制文本, 文本型, , 待转换的十六进制文本 .参数 返回结果, 文本型, 参考 可空, 返回文本结果(如十进制数超出整数范围,可通过返回结果获得十进制文本) .程序 十六到十2, 整数型, 公开, 将十六进制转换成十进制(返回十进制文本) .参数 十六进制转换数据, 文本型 .程序 十六文本至长整数, 长整数型, 公开, (进程隐藏) .参数 x, 文本型, , 要转换的十六进制文本 .程序 鼠标捕获, 整数型, 公开, 将鼠标捕获设置到指定的窗口.在鼠标按钮按下的时候,这个窗口会为当前应用程序或整个系统接收所有鼠标输入(返回之前拥有鼠标捕获的窗口的句柄) .参数 窗口句柄, 整数型, 可空, 要接收所有鼠标输入的窗口的句柄,如果留空则释放鼠标捕获 .程序 鼠标归位, , 公开, 恢复当前鼠标坐标到"鼠标记录"的坐标点或移动鼠标到指定点 .参数 坐标, 坐标型, 可空, 可空:恢复到上次记录的坐标点 .程序 鼠标记位, 坐标型, 公开, 记录当前鼠标坐标(返回所记录的当前鼠标 坐标_) .程序 鼠标键, , 公开, 模拟鼠标按键 .参数 键, 整数型, 可空, 可空:为左键 1 #左键 2 #右键 3 #中键 .参数 控制, 整数型, 可空, 可空:为单击 1 #单击 2 #双击 3 #按下 4 #放开 .程序 鼠标限制, , 公开, 限制鼠标的活动范围 .参数 临时左边, 整数型, 可空, 可空为0 .参数 临时顶边, 整数型, 可空, 可空为0 .参数 临时右边, 整数型, 可空, 可空为屏幕宽度 .参数 临时底边, 整数型, 可空, 可空为屏幕高度 .程序 鼠标消息, , 公开, 向指定窗口发送鼠标动作消息 .参数 窗口句柄, 整数型, 可空, 可空:为桌面超级列表框句柄 接收鼠标消息窗口句柄 .参数 水平坐标, 整数型, 可空, 可空:为原水平坐标不变 移动目标鼠标水平坐标 (注:坐标为参数一窗口句柄中的坐标) .参数 垂直坐标, 整数型, 可空, 可空:为原垂直坐标不变 移动目标鼠标垂直坐标 .参数 键, 整数型, 可空, 可空:为左键_ 1 #左键_ 2 #右键_ 3 #中键_ 4 #中键上滚动_ 5 #中键下滚动_(滚动前后请按下放开中键) .参数 控制, 整数型, 可空, 可空:为单击_ 1 #单击_ 2 #双击_ 3 #按下_ 4 #放开_ .程序 鼠标移动1, , 公开, 模拟鼠标移动(无返回值) .参数 窗口句柄, 整数型, 可空, 可空:相对桌面移动鼠标 句柄有效则相对窗口中坐标移动 .参数 水平坐标, 整数型, , 水平坐标 .参数 垂直坐标, 整数型, , 垂直坐标 .程序 鼠标移动2, , 公开, SendInput模拟鼠标移动 目标坐标与实际坐标有一像素点误差属正常现象! .参数 窗口句柄, 整数型, 可空, 可空:相对桌面移动鼠标 句柄有效则相对窗口中坐标移动 .参数 水平坐标, 整数型 .参数 垂直坐标, 整数型 .程序 提升进程权限, 逻辑型, 公开, 提升进程到指定权限( #备份 #启动 #关机 #调试) .参数 目标进程, 整数型, 可空, 为空表示当前线程 .参数 权限类别, 文本型, 可空, 为空:#调试 .程序 提升进程权限D1, 逻辑型, 公开, 成功返回真,把一个进程的权限提升到调试级权限 .参数 进程ID, 整数型, 可空, 可空为提升当前进程 .程序 提升进程权限D2, 逻辑型, 公开, 成功返回真,把一个进程的权限提升到调试级权限 .程序 网页_禁止右键, , 公开 .参数 句柄, 整数型 .程序 文本发送, , 公开, 向指定编辑框后台发送文本内容(无返回值) .参数 临时句柄, 整数型, , 接收消息的编辑框的句柄 .参数 临时内容, 文本型, , 发送的文本内容 .程序 文本复制, 文本型, 公开, 复制指定文本 必要时会自动激活窗口 .参数 句柄, 整数型, 可空, 文本所在处的窗口句柄 可空为当前窗口焦点处 .程序 文本全选, , 公开, 选定指定文本 必要时会自动激活窗口(无返回值) .参数 句柄, 整数型, 可空, 文本所在处的窗口句柄 可空为当前窗口焦点处 .参数 是否全选, 逻辑型, 可空, 可空为假:取消全选 真:全选 .程序 文本输入, , 公开, 向指定窗口句柄中窗口中后台输入文本内容,并等待输入完毕后返回,对特殊屏蔽的游戏有效!(无返回值) .参数 句柄, 整数型, , 接收消息的窗口句柄 .参数 文本, 文本型, , 发送的文本内容 .参数 速, 字节型, 可空, 默认为3 如出现乱码现象,请将该值设大一点 .程序 文本投递, , 公开, 向指定窗口句柄的窗口中后台发送文本内容,对游戏有效!(无返回值) .参数 窗口句柄, 整数型, , 接收消息的窗口句柄 .参数 文本内容, 文本型, , 发送的文本内容 .程序 文本粘贴, , 公开, 粘贴指定文本 必要时会自动激活窗口(无返回值) .参数 句柄, 整数型, 可空, 欲粘贴文本处的窗口句柄 可空为当前窗口焦点处 .参数 文本内容, 文本型, 可空, 欲粘贴的文本内容 可空:清除内容 .程序 文件夹进度同步, , 公开, 将一个目录与另一个目录同步(自动复制本地缺少的文件,替换掉大小不同的文件) .参数 服务器目录, 文本型, , 参考目录 .参数 本地目录, 文本型, , 欲被同步的目录 .参数 显示标签, 标签, , 显示当前同步文件的标签 .参数 进度条, 进度条, , 显示同步进度的进度条 .程序 文件夹浏览, 文本型, 公开, 浏览文件夹内支持创建文件夹 支持显示文件 编辑框 (返回被选择文件或文件夹路径) .参数 标题, 文本型, 可空, 设置标题 .参数 显示文件, 逻辑型, 可空, 默认为假。 .参数 初始目录, 文本型, 可空, 设置一个初始目录,默认为我的电脑 .参数 地址栏, 逻辑型, 可空, 是否包含编辑框,可编辑,默认为假 .参数 新样式, 逻辑型, 可空, 有新建按钮及右键菜单,默认为真 .程序 文件夹双进度同步, , 公开, 将一个目录与另一个目录同步(自动复制本地缺少的文件,替换掉大小不同的文件) .参数 服务器目录, 文本型, , 参考目录 .参数 本地目录, 文本型, , 欲被同步的目录 .参数 总进度, 进度条, , 显示同步进度的进度条 .参数 单进度, 进度条 .参数 显示总进度, 标签 .参数 显示单进度, 标签 .参数 显示当前目录, 标签 .参数 显示当前文件, 标签 .参数 更新数, 标签, 可空 .程序 文件夹停止同步, , 公开, 停止一些同步命令: "文件搜索","文件夹同步","文件夹进度同步","文件夹双进度同步","文件夹同步清理" .程序 文件夹同步, , 公开, 将一个目录与另一个目录同步(自动将文件大小不同,多余的文件或目录删除,缺少的文件复制.) .参数 服务器目录, 文本型, , 参考目录 .参数 本地目录, 文本型, , 欲被同步的目录 .程序 文件夹同步清理, , 公开, 将本地目录中多余的或不同的文件删除 .参数 服务器目录, 文本型, , 参考目录 .参数 本地目录, 文本型, , 欲清理的目录 .程序 文件进度复制, 逻辑型, 公开 .参数 被复制的文件名, 文本型 .参数 复制到的文件名, 文本型 .参数 回调进度函数, 程序指针, 可空, 回调函数(总尺寸,已复制,进度%) 回调函数的返回值可以为空,如果回调函数的返回值为真或不等0则停止复制 .程序 文件搜索, 文本型, 公开, 在指定目录下搜索文件,返回第一个符合条件的文件路径 .参数 临时目录, 文本型, , 欲寻找的目录 .参数 文件名, 文本型, , 欲寻找文件名 .参数 显示标签, 标签, , 用来显示搜索路径的标签 .程序 系统变速, , 公开, NT,2000,XP系统原速 =11941; ME,98系统原速=5954; XP.SP2=1200 .参数 新速值, 整数型, , 值小加速,值大减速 .程序 下载, 字节集, 公开, 读网络文件,并下载文件到本地(成功返回网络文件字节集数据,失败返回空字节集) .参数 网址, 文本型, , 欲访问的网络地址 .参数 保存路径, 文本型, 可空, 可空:仅返回字节集数据,将下载的内容保存到本地文件 .程序 销毁定时器, 整数型, 公开, 销毁已经创建的定时器(定时器不使用了一定要销毁!) .参数 窗口句柄, 整数型, 可空, 创建定时器时指定的句柄 .参数 标志, 整数型, , 创建定时器时所返回的标志 .程序 销毁线程, 逻辑型, 公开, 强制结束指定线程,不推荐使用(无返回值) .参数 线程句柄, 整数型, , 欲结束的线程号 .程序 写磁盘扇区, 逻辑型, 公开 .参数 扇区号, 整数型 .参数 扇区内容, 字节集 .程序 写内存文本型, 逻辑型, 公开, 往内存中写入文本数据(成功返回真,失败返回假) .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 内容, 文本型, , 写入数据 .程序 写内存整数型, 逻辑型, 公开, 往内存中写入四字节数据(成功返回真,失败返回假) .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 变量, 整数型, , 写入数据 .程序 写内存字节集, 逻辑型, 公开, 往内存中写入字节集数据(成功返回真,失败返回假) .参数 进程ID, 整数型, , 进程ID .参数 地址, 整数型, , 内存地址 .参数 数据, 字节集, , 写入数据 如果为其它数据类型,可以用 到字节集() 将数据转换为字节集 .参数 写入长度, 整数型, 可空, 默认为全部数据,(参考: 1字节型 2短整数型 4长整数型,小数型,指针 8长整数型,双精度小数型,日期时间型) .程序 写启动项, 逻辑型, 公开, 写入系统启动项(成功返回真,失败返回假) .参数 启动文件, 文本型, 可空, 需要加入启动项的文件名 如果为空则删除启动项 .参数 启动方式, 整数型, 可空, 0 Run项启动 1 Load项启动 2 Shell项启动 .程序 写物理内存, 整数型, 公开, 失败返回-1,成功返回0 (进程隐藏) .参数 地址, 长整数型 .参数 数据, 字节集, , <=4096 .程序 信息框_, 整数型, 公开, 同"信息框"用法相同 .参数 提示信息, 文本型, 可空 .参数 按钮值, 整数型, 可空 .参数 窗口标题, 文本型, 可空 .参数 窗口句柄, 整数型, 可空, 信息框窗口,默认为系统级 .参数 时长, 整数型, 可空, 默认为0 不关闭 指定信息框在毫秒级时间过后自动关闭 .程序 以SYSTEM权限运行, 逻辑型, 公开, 在Administrator系统权限下以SYSTEM权限运行指定程序(成功返回真,失败返回假) .参数 文件名, 文本型, , 欲创建进程全路径文件名 .程序 运行程序, , 公开, 通过对象来运行一个指定的应用程序 .参数 执行程序, 文本型, , 一个欲被执行的程序全路径名或执行程序名 .参数 启动参数, 文本型, 可空, 可以传递程序的启动参数,但要注意参数间隔符不能少 .参数 窗口显示, 整数型, 可空, 默认为激活窗口 0 隐藏窗口 1 激活窗口 7 最小化 3 最大化 .参数 等待返回, 逻辑型, 可空, 是否需要等持被运行的程序运行结束后 .程序 执行文件, 逻辑型, 公开, 执行文件夹或文件或命令(成功返回真,失败返回假) .参数 欲操作文件名, 文本型, , 欲操作(文件)或(文件夹的名称)或(网址) .参数 命令行, 文本型, 可空, 执行文件的命令行,没有则设为空 .参数 窗口方式, 整数型, 可空, 可空为0:普通激活方式 1 隐藏窗口 2 最小化窗口 .程序 置分辨率, , 公开, 设置屏幕分辨率(无返回值) .参数 色深, 短整数型, 可空, 新的色深 可空:不改变原先设定 .参数 屏幕宽度, 短整数型, 可空, 新的屏幕宽度 可空:不改变原先设定 .参数 屏幕高度, 短整数型, 可空, 新的屏幕高度 可空:不改变原先设定 .参数 屏幕刷新率, 短整数型, 可空, 新的屏幕刷新率 可空:不改变原先设定 .程序 置计算机名, 逻辑型, 公开, 设置计算机名,一般要重新启动才生效(成功返回真,失败返回假) .参数 计算机名, 文本型, 参考, 新的计算机名称 .程序 重启后删除文件, , 公开 .参数 文件名, 文本型, , 欲删除的文件名 .程序 转换Ansi转Unicode1, 字节集, 公开, 将Ansi码转换为Unicode码 (返回转换后的字节集) .参数 Ansi, 文本型, , 欲转换的Ansi文本 .程序 转换Ansi转Unicode2, 字节集, 公开, 将Ansi码转换为Unicode码 (返回转换后的字节集) .参数 欲转换的文本, 文本型 .程序 转换ASCII转Unicode, 字节集, 公开, 将ASCII码转换为Unicode码 (返回转换后的字节集) [斩月] .参数 ASCII文本, 文本型, , 欲转换的ASCII文本 .程序 转换Unicode转Ansi, 文本型, 公开, 将Unicode码转换为Ansi码 (返回转换后的文本) .参数 Unicode, 字节集, , 欲转换的Unicode字节集 .程序 转换URL编码, 文本型, 公开, 将URL文本进行编码(返回编码后的文本) .参数 URL, 文本型, , 欲编码的文本 .程序 转换URL解码, 文本型, 公开, 将URL文本进行解码(返回解码后的文本) .参数 URL, 文本型, , 欲解码的文本 .程序 转换繁体到简体, 文本型, 公开, 将繁体中文转换成简体中文(返回转换后的简体内容) [斩月] .参数 繁体文本, 文本型, , 欲转换的文本内容 .程序 转换简体到繁体, 文本型, 公开, 将简体中文转换成繁体中文(返回转换后的繁体内容) [斩月] .参数 简体文本, 文本型, , 欲转换的文本内容 .程序 转换取按键码, 整数型, 公开, 取按键名的按键码(返回按键码) .参数 按键名, 文本型, , 按键名 .程序 转换取按键名, 文本型, 公开, 取按键码的按键名(返回按键名) .参数 键代码, 整数型, , 按键码 .程序 转换取机内码, 文本型, 公开, 例:取机内码 (“吕”) .参数 汉字, 文本型 .程序 转换取键码, 整数型, 公开, 取指定键码的按键名(返回键名,无效返回空文本) .参数 键名, 文本型, , 欲取键码的键名(键名为按键后显示的内容 比如:A=65,a=97,$=36) .程序 转换取键名, 文本型, 公开, 取指定按键名的键码(返回键码,无效返回零) .参数 键码, 整数型, , 欲取键名的键码(键名为按键后显示的内容 比如:A=65,a=97,$=36) .程序 转换取区位码, 文本型, 公开, 例:取区位码 (“吕”) .参数 汉字, 文本型 .程序 转换图像格式, 字节集, 公开, (返回转换后图像数据,失败返回空字节集) .参数 图像数据, 字节集, , 支持bmp、jpg、gif、tiff .参数 转换格式, 整数型, 可空, 转换后的图片格式。0、bmp;1、jpg;2、gif;3、tiff;4、png .全局变量 扩展菜单_菜单, 菜单_菜单, 公开 .全局变量 扩展菜单_菜单, 菜单_菜单, 公开 .全局变量 扩展操作_DLL, 操作_DLL, 公开 .全局变量 扩展操作_FTP, 操作_FTP, 公开 .全局变量 扩展操作_MIDI演奏, 操作_MIDI演奏, 公开 .全局变量 扩展操作_多媒体播放, 操作_多媒体播放, 公开 .全局变量 扩展操作_脚本控制, 操作_脚本控制, 公开 .全局变量 扩展操作_进程通信, 操作_进程通信, 公开 .全局变量 扩展操作_内存_驱动读写, 操作_内存_驱动读写, 公开 .全局变量 扩展操作_内存操作, 操作_内存操作, 公开 .全局变量 扩展操作_驱动操作, 操作_驱动操作, 公开 .全局变量 扩展操作_驱动模拟, 操作_驱动模拟, 公开 .全局变量 扩展操作_热键, 操作_热键, 公开 .全局变量 扩展操作_数据库, 操作_数据库, 公开 .全局变量 扩展操作_数据库记录集, 操作_数据库记录集, 公开 .全局变量 扩展操作_数据库连接, 操作_数据库连接, 公开 .全局变量 扩展操作_数据压缩, 操作_数据压缩, 公开 .全局变量 扩展操作_网络_服务端, 操作_网络_服务端, 公开 .全局变量 扩展操作_网络_客户端, 操作_网络_客户端, 公开 .全局变量 扩展操作_网络_数据报, 操作_网络_数据报, 公开 .全局变量 扩展操作_网络_网络通讯, 操作_网络_网络通讯, 公开 .全局变量 扩展操作_网页单选框, 操作_网页单选框, 公开 .全局变量 扩展操作_网页复选框, 操作_网页复选框, 公开 .全局变量 扩展操作_网页模拟, 操作_网页模拟, 公开 .全局变量 扩展操作_网页文档, 操作_网页文档, 公开 .全局变量 扩展操作_网页组合框, 操作_网页组合框, 公开 .全局变量 扩展操作_位图操作, 操作_位图操作, 公开 .全局变量 扩展操作_系统服务, 操作_系统服务, 公开 .全局变量 扩展操作_线程操作, 操作_线程操作, 公开 .全局变量 扩展操作_线程钩, 操作_线程钩, 公开 .全局变量 扩展操作_新位图操作, 操作_新位图操作, 公开 .全局变量 扩展操作_注册表, 操作_注册表, 公开 .全局变量 扩展方法_APIHOOK, 方法_APIHOOK, 公开 .全局变量 扩展方法_BASE64, 方法_BASE64, 公开 .全局变量 扩展方法_DES, 方法_DES, 公开 .全局变量 扩展方法_HOOK, 方法_HOOK, 公开 .全局变量 扩展方法_HTTP, 方法_HTTP, 公开 .全局变量 扩展方法_MD5, 方法_MD5, 公开 .全局变量 扩展方法_NTIO, 方法_NTIO, 公开 .全局变量 扩展方法_RC4, 方法_RC4, 公开 .全局变量 扩展方法_RSA, 方法_RSA, 公开 .全局变量 扩展方法_WinIo, 方法_WinIo, 公开 .全局变量 扩展方法_XML, 方法_XML, 公开 .全局变量 扩展方法_编码转换, 方法_编码转换, 公开 .全局变量 扩展方法_表达式运算, 方法_表达式运算, 公开 .全局变量 扩展方法_封包拦截, 方法_封包拦截, 公开 .全局变量 扩展方法_加密解密, 方法_加密解密, 公开 .全局变量 扩展方法_加密配置, 方法_加密配置, 公开 =================== =====================
ExtAspNet v2.2.1 ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-03-28 v2.2.1 +为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器打开后,不能弹出对话框的BUG。 -隐藏示例首页最外层RegionPanel的边框ShowBorder="false"。 +集成Extjs最新版本v3.1.1。 -增加一个新的Theme - Access。 -修正了Firefox下Zoom In/Out时页面消失的BUG。 -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_addtab.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来关闭当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="false")(feedback:zqmars)。 -Window控件更新。 -关闭按钮默认直接关闭,不会弹出确认对话框。 -GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon="Close",现在需要这样定义Icon="SystemClose"。 -WindowPosition默认居中,而不是黄金分割位置。 +Button, Window等控件弹出位置属性的变化。 -Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。 -Confirm.GetShowReference的最后一个参数target变为枚举类型。 -Alert.GetShowReference中的showInParent参数也变为Target枚举类型。 -MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。 +2010-01-06 v2.1.9 -集成Extjs最新版本v3.1.0。 -修正灰色皮肤的CSS问题。 -修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。 -为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。 -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了弹出菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab控件可关闭属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时会出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -修正了使用IFrame的Window关闭后不能再次打开的BUG(feedback:alexa99)。 -修正了IE下Grid中的一个JS问题(feedback:lqm4108)。 -修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正弹出对话框的宽度计算错误(会保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。 -为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。 +2009-12-01 v2.1.7 -增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。 -BorderPanel更名为RegionPanel。 -DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。 -增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的问题,这是一个在v2.1.6引入的问题(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。 +2009-11-26 v2.1.6 +修正动态创建Grid列的BUG(feedback:gxpan)。 -增加示例(data/grid_dynamic_columns.aspx)。 -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和FindControl一致命名。 -删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。 -删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。 -增加示例(data/tree_select_run.aspx),如何选中当前节点的所有节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。 -为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。 -为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。 -增加示例(other/custom_postback.aspx)(feedback:thebox)。 -如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正Window的关闭按钮提示信息一直是中文的BUG(feedback:thebox)。 -部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。 -v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 -为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)。 -在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。 -更新/basic/login.aspx示例,使用验证图片(feedback:kedee)。 -为Grid增加AutoPostBack属性和RowClick事件,示例在/data/grid_autopostback.aspx(feedback:chenguizhu2006)。 -为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。 -Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。 -修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。 -增加pt_BR语言,由Ujvari提供。 +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。 +2009-09-15 v2.1.1 -修正不能动态修改AccordionPane属性Items的BUG。 +为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。 -如果需要在页面弹出确认对话框,需要设置ConfirmTarget="_parent"(类似Window控件的Target="_parent")。 +为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。 -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后关闭弹出窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference()); +TreeNode的前面的多选框可以自动回发了。 -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在页面弹出对话框的JS代码。 -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为页面的Form添加autocomplete="off"属性。 -参考http://www.cnblogs.com/sanshi/archive/2009/09/04/1560146.html#1635830 +添加对extjs3.0中所有语言的支持。 -ExtAspNet扩展的多语言包在js\languages\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现 -你可以向其中添加自己的语言版本,并执行js\languages下的pack.bat打包,最后编译工程。 +2009-09-01 v2.0.9 -为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在页面弹出窗口。 +在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。 -这将会影响所有的aspx页面,所以要特别关注。 -重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称). +所有的面板默认有两个集合属性(Toolbars和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的). -这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。 -将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。 +去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。 -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。 +2009-08-25 v2.0.7 -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不会被选中(feedback:your568)。 -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~/开头)的BUG。 -增加Accordion和Tree配合使用的示例(other\accordion_tree_run.aspx)。 -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\accordion_tree_run.aspx。 +2009-08-14 v2.0.6 -动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个页面保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior="false" --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。 -在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。 -示例在aspnet\fckeditor_run.aspx和aspnet\aspnet_run.aspx。 -FCKEditor和上传控件兼容。示例在aspnet\fileupload_run.aspx。 -修正ToolbarText的文本在AJAX下更新的BUG。 -Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。 -更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。 +2009-08-02 v2.0 beta4 +和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。 -采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。 -现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。 -支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。 -Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。 -修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。 -修正IE下某些弹出窗口的IFrame第一次不能加载的BUG。 -增加Menu和Accordion的示例。 -修正Window控件的IconUrl有时不显示(Target="_parent")的BUG[feedback:xmq&mgzhenhong]。 +2009-07-22 v2.0 beta3 -兼容FCKEditor。 -在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不会对IE6.0提供支持。 +2009-07-13 v2.0 beta2 -集成extjs最新版本v3.0。 +兼容IE6.0-7.0-8.0。 -这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此问题)。 -目前先禁用IE6.0-7.0的QuickTips。 -优化底层JavaScript。 +2009-07-05 v2.0 beta1 -更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。 -使用YUI Compressor压缩JavaScript和CSS文件。 -Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。 -ExtAspNet自身的CSS会紧挨着页面标签引入,这样在<head>中自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert对话框会遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。 -重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed] -Window中的EnableIFrame==false,则点击<em>关闭</em>按钮时报JS错误。[fixed] -页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果<em>弹出</em>的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此<em>弹出</em>窗口在<em>关闭</em>时出现JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的<em>问题</em>)。[fixed] -页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed] -如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请<em>刷新</em>页面重试。”。[fixed] -自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +系统底层代码优化(<em>主</em>要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。 -PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认提示框的脚本”。 ---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -不会修改<em>弹出</em>页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个<em>弹出</em>页面添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误! -A页面有Ext-Window控件<em>弹出</em>B页面,B页面有Ext-Window控件<em>弹出</em>C页面,B页面的Ext-Window控件设置Target='_parent',则<em>弹出</em>的Ext-Window(C页面)会覆盖整个A页面,这是正确的。 ---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的<em>父</em>页面A了。现在的版本修正为如果找不到<em>父</em>页面,则就在当前页面<em>弹出</em>窗口,这样用户直接访问B页面也不会出错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后<em>关闭</em><em>弹出</em>窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后<em>关闭</em><em>弹出</em>Ext-Window,再然后<em>刷新</em><em>父</em>页面或回发<em>父</em>页面”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在<em>关闭</em>窗口。 ---现在可以很方便的为Window控件的<em>关闭</em>按钮添加<em>关闭</em>后<em>刷新</em><em>父</em>页面或者<em>关闭</em>后回发<em>父</em>页面的行为。 -如果<em>弹出</em>窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的<em>关闭</em>按钮会报JS错误,因为此时页面尚未加载完毕。 ---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的<em>关闭</em>按钮<em>关闭</em><em>弹出</em>含IFrame的<em>窗体</em>。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。 -CurrentActiveWindow改名为ActiveWindow。 -[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values) ---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。 +2009-02-23 v1.2 beta8 -ContentPanel中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed] -升级底层ExtJS类库为v2.2.1(此版本<em>主</em>要是Chrome的支持和部分内存泄漏<em>问题</em>的修正)。[fixed] -页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string url, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,<em>父</em>窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则会报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的<em>问题</em>。[fixed] -需要替换新的blowery.Web.HttpCompress.dll,解决方案见http://pohee.com/it/http-compression-in-aspnet-20/。 +DropDownList优化。[fixed] -去除EnableFirstItem/FirstItemText/FirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem("全部", "-1"));来达到同样的效果。 +如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。 -和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS中的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能提示。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed] -TriggerIconType.Default -> TriggerIconType.None -SystemIconType.Empty -> SystemIconType.None -RegexPattern.USER_DEFINED -> RegexPattern.None -表单验证属性名称变化(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[fixed] +注意:一个属性可以拥有多个值的情况。[fixed] -属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。 -其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。 +AccordionLink实现为控件。[fixed] -可以方便的在<em>子</em>页面(iframe)中通过js切换<em>父</em>页面中选中的菜单项(Accordion->AccordionLink)(示例在other/accordion_links_run.aspx,other/accordion_links_run_iframe_htm)[feedback:jima]。 +确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form/form_dynamic_run.aspx)。[fixed] +2008-10-15 v1.2 beta5 -验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而不会对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。 -AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed] +AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other/accordion_links_run.aspx)。[fixed] -原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上<Items>标签。 -适当增大AccordionPanel中链接的高度20px->22px,同时对链接的样式也做了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX中HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。 +2008-09-25 v1.2 beta3 +代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -TabStrip/Toolbar -TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form中动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的<em>子</em>控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留TabStrip的Tabs(TabCollection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +代码优化与设计时支持(示例中表单控件都已支持设计)。[fixed] -PageManager/SimpleForm/Button/HyperLink/Label/Image/LinkButton/TextBox -TriggerBox/TwinTriggerBox/Window/TextArea/HtmlEditor/DatePicker/NumberBox -CheckBox/RadioButton/RadioButtonList/DropDownList -Grid +2008-09-19 v1.2 beta1 -Image/LinkButton/HyperLink增加一些Ajax可更新属性。[fixed] +隐藏的方式由HideMode属性控制Visibility/Offsets/Display。[fixed] -修正Form/SimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed] -网报:CssClass="toolbar-pagemenu" CssStyle="border:0px;",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(../images/pagemenu_toolbar_background.gif) repeat-x left top;}。 -Region去除默认的Layout=Fit,如果希望Region使用Fit/Anchor/Column/Row等布局的话,需要手工指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9中布局可供使用。 -其中一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/TabStrip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/TabStrip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了<em>弹出</em>下级菜单,点击没反应,则可以这样设置HideOnClick="false" CssStyle="cursor:default;" [feedback:huayu]。[fixed] -MenuButton/MenuHyperLink/MenuSeparator/MenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed] +大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed] -注意Visible和Hidden的区别:Visible=false的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed] +模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。 -解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) >= 0){ok}。 -DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed] -Button/MenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed] -Tree的Ajax支持(尚需优化)。[fixed] +2008-09-02 v1.1 beta5 -DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed] -模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个<em>问题</em>。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和<em>父</em>控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config中增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm/Form的表单字段标题的宽度。[fixed] +完善Ajax。[fixed] -RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue/SelectedItem)。 -DropDownList增加Ajax可更新属性Enable/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。 -ToolbarText增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。 -网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否<em>弹出</em>的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个按钮<em>弹出</em>窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有<em>子</em>控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed] -Grid中的回发事件(<em>主</em>要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed] -Grid选中行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知<em>问题</em>:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。 -<em>主</em>要是<em>父</em>页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化<em>弹出</em>窗口中IFrame的显示速度。[fixed] -在当前页面<em>弹出</em>窗口需要~20ms,在<em>父</em>页面<em>弹出</em>窗口需要100~300ms。通过缓存<em>弹出</em>的窗口实例,从而第二次<em>弹出</em>窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed] -一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed] +TabStrip中非当前Tab会延迟渲染。[fixed] -这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。 -由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。 -不能比较两个DataPicker大小的BUG。[fixed] -TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame页面中使用<em>父</em>页面的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed] +extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6/IE7)(http://www.extjs.net/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发页面再<em>弹出</em>IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在<em>关闭</em>窗口时要注意设置Popup=false。 -另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -点击<em>关闭</em>窗口的按钮,在IE6下会有JS错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame<em>弹出</em>窗口<em>关闭</em>后回发<em>父</em>页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发<em>父</em>页面后Window中的IFrame被添加到页面,而这是不需要的。 -现在"是否<em>弹出</em>窗口、窗口标题、IFrameUrl"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此<em>问题</em>解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -点击<em>关闭</em>窗口的按钮,在IE下会有JS错误。[fixed] -Window的右上角<em>关闭</em>图标增加提示,优化事件响应。[fixed] -Window的代码重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,打开iframe/default.aspx页面,iexplorer占内存68.368M。 -内存存在泄漏时,点击iframe/page3.aspx页面8次后iexplorer占118.792M内存。 -修正后,点击iframe/page3.aspx页面8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE会自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +页面正在加载的提示尽早的显示出来。[fixed] -首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示出来。 -加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -TabStrip延时加载出错。[fixed] -Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则会JS错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed] -优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed] -Window中的保存并<em>关闭</em>按钮和Asp.netAjax冲突。[fixed] -优化<em>关闭</em>Window的js脚本,减少写到页面的js大小。[fixed] -加快“保存并<em>关闭</em>”按钮<em>关闭</em>窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed] +<em>弹出</em>窗口中,点击按钮回发然后点击<em>关闭</em>按钮,出现js错误 [feedback:xmzhu]。[fixed] -因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。 -一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。 -另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。 -每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed] -最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过点击按钮<em>弹出</em>IFrame窗口,可直接<em>关闭</em><em>父</em>页面,也可在<em>关闭</em>后<em>刷新</em>或回发<em>父</em>页面。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid中<em>弹出</em>窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox<em>弹出</em>窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个页面<em>弹出</em>窗口或者在当前页面<em>弹出</em>窗口,仅仅设置Window的Target属性即可。 -示例4,<em>弹出</em>窗口中的<em>弹出</em>窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed] -对TabStrip/Panel/Window中的IFrame重新设计,如果设置IFrameUrl="#"或者"about:blank",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame不会有残影出现。[fixed] -如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed] -Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed] +规范<em>关闭</em>窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe中<em>关闭</em>按钮和window右上角<em>关闭</em>图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,点击“保存并<em>关闭</em>按钮”,可以将<em>关闭</em>窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再<em>关闭</em>窗口。 -参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed] -Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed] +IFrame内的页面宽度和高度会自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶<em>子</em>节点并且没有<em>子</em>节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工<em>关闭</em>提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息中的换行符(转换为<br/>),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。 -ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed] -虽然最后未能解决<div style="width: 60px; white-space: nowrap; overflow: hidden; border: solid 1px red;"><div style="width: 16px; height: 18px; float: left;">##</div>差旅交通费</div>在IE和Firefox下显示的不同效果。 -但是通过用<img src="##" />来代替<div style="background:url(##)" />,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“<span style="margin-right: -1000px;">差旅交通费</span>”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选中行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel中放置ExtAspNet控件,则渲染时会出现各种<em>问题</em>,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种<em>问题</em>(<em>主</em>要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。 +IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现<em>问题</em>的经历,你就能明白。 -最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且<em>主</em>内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master 页面。 +集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现内容区域的内容全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的代码让我想起<em>刷新</em>窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed] -Accordion选中样式微调。[fixed] -预加载Form表单出错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid中静态的CheckBoxField图片。[fixed] -TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed] +2008-07-12 v0.3 beta5 -页面菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑页面使用AspNetAjax,则不能在回发时<em>关闭</em>当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript中不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。 -<em>弹出</em>Window默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是"#"。[fixed] +<em>弹出</em>的窗口中的<em>弹出</em>窗口的如果内容发生变化,则点击右上角的<em>关闭</em>按钮时会有提示用户先保存的对话框,但是这个对话框的被第二个<em>弹出</em>窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例中alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。 -点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed] +增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed] -增加SplitButton控件。[fixed] +2008-07-09 v0.3 beta4 -DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed] +Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed] -增加ControlToCompare/ValueToCompare/CompareOperator/CompareMessage四个属性,示例在form_compare.aspx。 +TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置Url,只有在激活时才设置Url。 -RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed] -FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed] +表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disabled,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。 -LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed] +2008-07-07 v0.3 beta2 +增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed] -使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个<em>子</em>节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx中,点击“Ajax查询”按钮和<em>关闭</em><em>弹出</em>的窗口(点击右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel中放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp.net ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx/content_ajax2.aspx中。 -对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +<em>关闭</em>前提示当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角<em>关闭</em>按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。 +iframe中的alert/confirm要覆盖整个<em>父</em>页面,而不仅仅是iframe页面。[fixed] -在Firefox下还有<em>问题</em>。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed] -可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed] -<em>关闭</em>Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要<em>弹出</em>对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed] +页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角<em>关闭</em>按钮的提示保存功能。 -Master/Content的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选中的值 [feedback:jqpeng]。 -增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window<em>窗体</em>中的Iframe只让内容区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx/simpleform.aspx)[fixed] -在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其中26是Toolbar的高度,32是窗口的标题栏和下边框的高度。 +<em>关闭</em>Iframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样效果统一。[fixed] +Grid完善。 -去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP.NET应用中会有很多<em>问题</em>(<em>主</em>要是状态保持的<em>问题</em>)。 +EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx) -使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数中重新绑定数据。 +增加AllowPaging属性。(示例在grid_paging.aspx) -使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数中Grid1.PageIndex = e.NewPageIndex;OK。 +数据库分页支持。(示例在grid_database_paging.aspx) -使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数中Grid1.PageIn</a></div><div data-report-view="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1713876292929_75856\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/wode2600/2726130" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1713876292929_75856\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>ExtAspNet_v2.3.2_dll</a></div> <a target="_blank" href="https://download.csdn.net/download/wode2600/2726130" data-report-click="{"mod":"popu_645","index":"4","dest":"https://download.csdn.net/download/wode2600/2726130","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1713876292929_75856\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support ExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果, 目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。 支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+ 注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。 示例: http://extasp.net/ 开源: http://extaspnet.codeplex.com/ 博客: http://sanshi.cnblogs.com/ 邮箱: sanshi.ustc@gmail.com 发布历史: +2010-09-29 v2.3.2 -不绑定任何数据到Grid时,确保页面不会出错。 -修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。 -修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。 -增加土耳其语言资料文件(feedback:abdullaharslan)。 -Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。 -修正DatePicker中的一个bug(31/01/2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。 -修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。 -应用补丁#6593, #6621(feedback:vbelyaev)。 +修正IE7下Grid分页速度慢(feedback:youwei, StevenGuan, hazardvn, gavindou, ttjacky)。 -实际上IE7下所以的回发都慢,原因是客户端的Base64编码速度慢,已经使用encodeURIComponent来代替Base64编码。 -俄语翻译(feedback:vbelyaev)。 +2010-06-30 v2.3.1 -ExtAspNet控件将不在依赖ViewState,减少1/4左右的HTTP数据传输量。 -控件和示例的增强。 +2010-03-28 v2.2.1 +为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 -修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。 -修正basic/hello.aspx示例在单独浏览器打开后,不能<em>弹出</em>对话框的BUG。 -隐藏示例首页最外层RegionPanel的边框ShowBorder="false"。 +集成Extjs最新版本v3.1.1。 -增加一个新的Theme - Access。 -修正了Firefox下Zoom In/Out时页面消失的BUG。 -删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。 +2010-01-31 v2.2.0 -使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。 +TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。 -增加示例tabstrip/tabstrip_addtab.aspx。 -重构了示例网站的架构,目前只有一层IFrame结构。 -为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来<em>关闭</em>当前Tab和所有其他Tab。 -为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal="false")(feedback:zqmars)。 -Window控件更新。 -<em>关闭</em>按钮默认直接<em>关闭</em>,不会<em>弹出</em>确认对话框。 -GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。 -增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。 -修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。 -删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon="Close",现在需要这样定义Icon="SystemClose"。 -WindowPosition默认居中,而不是黄金分割位置。 +Button, Window等控件<em>弹出</em>位置属性的变化。 -Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target="_self" -> Target="Self", Target="_parent" -> Target="Parent"。 -MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。 -Confirm.GetShowReference的最后一个参数target变为枚举类型。 -Alert.GetShowReference中的showInParent参数也变为Target枚举类型。 -MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。 +2010-01-06 v2.1.9 -集成Extjs最新版本v3.1.0。 -修正灰色皮肤的CSS<em>问题</em>。 -修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。 -为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。 -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle="float:left;"属性。 -修正了<em>弹出</em>菜单的位置在Firefox下不正确的BUG(feedback:eroach)。 -为TriggerBox和TwinTriggerBox增加EnableEdit属性。 -使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。 -使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。 -Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。 -增加TabStrip中Tab控件可<em>关闭</em>属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。 -修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。 -修正HtmlEditor不能编辑的BUG(feedback:TheBox)。 -修正IE下有时会出现空白页面的情况(feedback:olivia919)。 +2009-12-06 v2.1.8 -修正了使用IFrame的Window<em>关闭</em>后不能再次打开的BUG(feedback:alexa99)。 -修正了IE下Grid中的一个JS<em>问题</em>(feedback:lqm4108)。 -修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。 +集成extjs3.0.3。 -修正<em>弹出</em>对话框的宽度计算错误(会保持最小的状态)。 -增加新的皮肤Gray。 -为示例工程添加改变语言和皮肤的下拉列表。 -为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。 +2009-12-01 v2.1.7 -增加示例(iframe/parent_postback_run3.aspx),如何通过简单的Javascript代码回发<em>父</em>页面(feedback:eroach)。 -修正一些书写错误(feedback:bmck)。 -从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。 -BorderPanel更名为RegionPanel。 -DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。 -增加中国的省市县三级联动示例(data/shengshixian.aspx)(feedback:Blues T)。 -修正了使用IFrameUrl的Tab在切换过程中会重复加载的<em>问题</em>,这是一个在v2.1.6引入的<em>问题</em>(feedback:eroach)。 -修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。 +2009-11-26 v2.1.6 +修正动态创建Grid列的BUG(feedback:gxpan)。 -增加示例(data/grid_dynamic_columns.aspx)。 -修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。 -增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。 -为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。 -重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。 +2009-11-21 v2.1.5 +Tree优化。 -修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。 -GetNodeById更名为FindNode,保持和FindControl一致命名。 -删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。 -删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。 -增加示例(data/tree_select_run.aspx),如何选中当前节点的所有<em>子</em>节点(feedback:wjl_wjl520)。 +TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。 -同时更名的还有GridColumn的ColumnId->ColumnID,GetColumnId->GetColumnID。 -Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。 -为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。 -为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。 -增加示例(other/custom_postback.aspx)(feedback:thebox)。 -如何自定义Javascript脚本和C#处理函数来响应键盘事件。 -为Tree增加AutoLeafIdentification属性。 -增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。 +2009-11-17 v2.1.4 -修正Window的<em>关闭</em>按钮提示信息一直是中文的BUG(feedback:thebox)。 -部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。 -v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。 -修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack->AutoPostBack, Event PostBack->EnablePostBack)。 -为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。 +为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。 -为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。 +为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。 -增加示例:form/form_validate.aspx +2009-10-19 v2.1.3 +增加支持在AJAX时改变的控件属性列表(/ajax.aspx)。 -ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。 -加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)。 -在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。 -更新/basic/login.aspx示例,使用验证图片(feedback:kedee)。 -为Grid增加AutoPostBack属性和RowClick事件,示例在/data/grid_autopostback.aspx(feedback:chenguizhu2006)。 -为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。 -Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。 +2009-09-27 v2.1.2 -为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。 -修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。 -增加pt_BR语言,由Ujvari提供。 +为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。 -如果Panel具有IconUrl属性,则IconUrl优先于Icon。 -所有Icon的列表在icon.aspx。 -为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。 +2009-09-15 v2.1.1 -修正不能动态修改AccordionPane属性Items的BUG。 +为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。 -如果需要在<em>父</em>页面<em>弹出</em>确认对话框,需要设置ConfirmTarget="_parent"(类似Window控件的Target="_parent")。 +为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。 -一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后<em>关闭</em>此<em>弹出</em>窗口。 -ExtAspNet.Alert.Show("参数错误!", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference()); +TreeNode的前面的多选框可以自动回发了。 -为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。 -示例在:http://extasp.net/data/tree_run.aspx -Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在<em>父</em>页面<em>弹出</em>对话框的JS代码。 -修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。 -添加定时器控件Timer,用来定时发起AJAX请求。 +2009-09-06 v2.1.0 -Button的Pressed属性值能够正确的反映客户端的变化。 -优化Tree控件的AJAX实现。 +为页面的Form添加autocomplete="off"属性。 -参考http://www.cnblogs.com/sanshi/archive/2009/09/04/1560146.html#1635830 +添加对extjs3.0中所有语言的支持。 -ExtAspNet扩展的多语言包在js\languages\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现 -你可以向其中添加自己的语言版本,并执行js\languages下的pack.bat打包,最后编译工程。 +2009-09-01 v2.0.9 -为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在<em>父</em>页面<em>弹出</em>窗口。 +在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。 -这将会影响所有的aspx页面,所以要特别关注。 -重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称). +所有的面板默认有两个集合属性(Toolbars和Items). -尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的). -这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。 -祝你生日快乐 - 小师妹妹。 +2009-08-29 v2.0.8 -ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。 -将所有的示例转化为英语版本。 -修正Tree控件的一个BUG(定义Mappings属性时)。 +PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。 -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。 +去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。 -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。 +2009-08-25 v2.0.7 -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。 -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。 -增加示例-如何将Grid控件导出为Excel(data\grid_excel_run.aspx)(feedback:503684912)。 -如果TreeNode的属性Enabled="false",则此项变灰并且不会被选中(feedback:your568)。 -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~/开头)的BUG。 -增加Accordion和Tree配合使用的示例(other\accordion_tree_run.aspx)。 -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。 +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。 -这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。 -简单方便,示例可以参考 default.aspx 或者 other\accordion_tree_run.aspx。 +2009-08-14 v2.0.6 -动态生成菜单实例(other\menu_dynamic_run.aspx和other\menu_dynamic2_run.aspx)(feedback:shguo)。 -优化AJAX的内部实现,每个页面保存的ViewState现在减少1/3左右(重要更新)。 -优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp.net的提交按钮兼容<em>问题</em>(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容<em>问题</em>,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior="false" --也就是说生成的input的type不能是"submit",而这个限制在有些情况下是不可原谅的。 --我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。 +PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。 -在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。 -示例在aspnet\fckeditor_run.aspx和aspnet\aspnet_run.aspx。 -FCKEditor和上传控件兼容。示例在aspnet\fileupload_run.aspx。 -修正ToolbarText的文本在AJAX下更新的BUG。 -Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。 -更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。 +2009-08-02 v2.0 beta4 +和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。 -采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。 -现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。 -支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。 -Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。 -修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。 -修正IE下某些<em>弹出</em>窗口的IFrame第一次不能加载的BUG。 -增加Menu和Accordion的示例。 -修正Window控件的IconUrl有时不显示(Target="_parent")的BUG[feedback:xmq&mgzhenhong]。 +2009-07-22 v2.0 beta3 -兼容FCKEditor。 -在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不会对IE6.0提供支持。 +2009-07-13 v2.0 beta2 -集成extjs最新版本v3.0。 +兼容IE6.0-7.0-8.0。 -这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此<em>问题</em>)。 -目前先禁用IE6.0-7.0的QuickTips。 -优化底层JavaScript。 +2009-07-05 v2.0 beta1 -更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。 -使用YUI Compressor压缩JavaScript和CSS文件。 -Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。 -ExtAspNet自身的CSS会紧挨着页面标签引入,这样在中自定义的样式可以覆盖ExtAspNet缺省样式。 +Alert对话框会遮挡所有的Window窗口。 -使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。 -为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。 -因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。 -重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。 -更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。 -更新示例工程。 +2009-03-25 v1.3.1 -Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed] -Window中的EnableIFrame==false,则点击<em>关闭</em>按钮时报JS错误。[fixed] -页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed] -HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed] +2009-03-03 v1.3.0 -如果<em>弹出</em>的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此<em>弹出</em>窗口在<em>关闭</em>时出现JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed] -如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的<em>问题</em>)。[fixed] -页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed] -ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added] +如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed] -如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior="false" 即可。 -如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet/aspnet.aspx)。 +2009-02-27 v1.2 beta9 -网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请<em>刷新</em>页面重试。”。[fixed] -自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed] +系统底层代码优化(<em>主</em>要是Javascript的封装和BUG修复)。[fixed] -底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。 -PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认提示框的脚本”。 ---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。 -不会修改<em>弹出</em>页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个<em>弹出</em>页面添加box_parent_client_id查询字符串 -去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。 ---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误! -A页面有Ext-Window控件<em>弹出</em>B页面,B页面有Ext-Window控件<em>弹出</em>C页面,B页面的Ext-Window控件设置Target='_parent',则<em>弹出</em>的Ext-Window(C页面)会覆盖整个A页面,这是正确的。 ---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的<em>父</em>页面A了。现在的版本修正为如果找不到<em>父</em>页面,则就在当前页面<em>弹出</em>窗口,这样用户直接访问B页面也不会出错了。 -Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后<em>关闭</em><em>弹出</em>窗口的客户端脚本”。 ---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后<em>关闭</em><em>弹出</em>Ext-Window,再然后<em>刷新</em><em>父</em>页面或回发<em>父</em>页面”。 ---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在<em>关闭</em>窗口。 ---现在可以很方便的为Window控件的<em>关闭</em>按钮添加<em>关闭</em>后<em>刷新</em><em>父</em>页面或者<em>关闭</em>后回发<em>父</em>页面的行为。 -如果<em>弹出</em>窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的<em>关闭</em>按钮会报JS错误,因为此时页面尚未加载完毕。 ---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的<em>关闭</em>按钮<em>关闭</em><em>弹出</em>含IFrame的<em>窗体</em>。 -Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。 -CurrentActiveWindow改名为ActiveWindow。 -[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values) ---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。 +2009-02-23 v1.2 beta8 -ContentPanel中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed] -DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed] -DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed] -升级底层ExtJS类库为v2.2.1(此版本<em>主</em>要是Chrome的支持和部分内存泄漏<em>问题</em>的修正)。[fixed] -页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added] +增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed] +2008-10-28 v1.2 beta7 -DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed] -Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed] +PageContext优化。[fixed] -去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。 -去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。 -Resirect增加重载函数Redirect(string url, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,<em>父</em>窗口,顶级窗口重定向[feedback:jqpeng]。 -Image控件增加ImageWidth/ImageHeight/ImageCssStyle/ImageCssClass/ImageAlt属性[feedback:jqpeng]。[fixed] -发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed] -ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed] -Row和Column布局时,修正IE下设置RowHeight="100%"时显示不正确的BUG。[fixed] -AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed] +TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed] -有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。 +2008-10-20 v1.2 beta6 +使用控件的站点必须建立虚拟目录,否则会报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的<em>问题</em>。[fixed] -需要替换新的blowery.Web.HttpCompress.dll,解决方案见http://pohee.com/it/http-compression-in-aspnet-20/。 +DropDownList优化。[fixed] -去除EnableFirstItem/FirstItemText/FirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem("全部", "-1"));来达到同样的效果。 +如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。 -和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = ""; -ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。 -处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed] -注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding/border-width/margin)。[fixed] +为所有控件属性增加在VS中的智能提示。[fixed] -需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能提示。 +控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed] -TriggerIconType.Default -> TriggerIconType.None -SystemIconType.Empty -> SystemIconType.None -RegexPattern.USER_DEFINED -> RegexPattern.None -表单验证属性名称变化(ValueToCompare->CompareValue,ControlToCompare->CompareControl)。[fixed] +注意:一个属性可以拥有多个值的情况。[fixed] -属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。 -其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。 +AccordionLink实现为控件。[fixed] -可以方便的在<em>子</em>页面(iframe)中通过js切换<em>父</em>页面中选中的菜单项(Accordion->AccordionLink)(示例在other/accordion_links_run.aspx,other/accordion_links_run_iframe_htm)[feedback:jima]。 +确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form/form_dynamic_run.aspx)。[fixed] +2008-10-15 v1.2 beta5 -验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed] +优化下拉列表。[fixed] -验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。 -DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。 -DropDownList不支持EmptyText属性。 -ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。 -DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。 +2008-09-27 v1.2 beta4 +EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而不会对AccordionPanel起作用(示例见other/accordion_run.aspx)。[fixed] -Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。 -影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。 -AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed] +AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other/accordion_links_run.aspx)。[fixed] -原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上标签。 -适当增大AccordionPanel中链接的高度20px->22px,同时对链接的样式也做了微调。 -通过BodyPadding控制链接列表的边距。 -这样能大大减少ASPX中HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。 +2008-09-25 v1.2 beta3 +代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed] -Panel/GroupPanel/ContentPanel/Tree/HiddenField/PageLoading -TabStrip/Toolbar -TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed] -向Form中动态添加控件的BUG,现在form/form_dynamic_run.aspx示例已经能正确运行。[fixed] +大部分容器的<em>子</em>控件集合更正为Items(以前有些是Rows)。[fixed] -影响的控件包括Toolbar/Accordion/AccordionPanel/GroupPanel/Panel/SimpleForm/Window等。 -保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。 -保留TabStrip的Tabs(TabCollection)属性。 -保留PageLayout/BorderLayout的Regions(RegionCollection)属性。 -预祝今晚神七发射成功。 +2008-09-22 v1.2 beta2 +Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed] -表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。 +代码优化与设计时支持(示例中表单控件都已支持设计)。[fixed] -PageManager/SimpleForm/Button/HyperLink/Label/Image/LinkButton/TextBox -TriggerBox/TwinTriggerBox/Window/TextArea/HtmlEditor/DatePicker/NumberBox -CheckBox/RadioButton/RadioButtonList/DropDownList -Grid +2008-09-19 v1.2 beta1 -Image/LinkButton/HyperLink增加一些Ajax可更新属性。[fixed] +隐藏的方式由HideMode属性控制Visibility/Offsets/Display。[fixed] -修正Form/SimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。 -ToolbarText/ToolbarFill/ToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed] -Button去除MarginRight属性(可以通过CssStyle="margin-right:5px;"达到相同的效果)[fixed] +2008-09-09 v1.1 +Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed] -网报:CssClass="toolbar-pagemenu" CssStyle="border:0px;",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(../images/pagemenu_toolbar_background.gif) repeat-x left top;}。 -Region去除默认的Layout=Fit,如果希望Region使用Fit/Anchor/Column/Row等布局的话,需要手工指定。[fixed] -ToolbarSeparator/ToolbarFill在Ajax更新Hidden属性的BUG。[fixed] +布局整理。[fixed] -新增Column/Absolute/Row三种布局,加上以前的Container/Fit/Anchor/Accordion/Border/Form六种布局,总共有9中布局可供使用。 -其中一些控件默认使用一种布局:SimpleForm(Form)/Form(Form)/Panel-GroupPanel(Container)/Accordion(Accordion)/PageLayout(Border)/BorderLayout(Border)/TabStrip(Card),所有布局控件默认的布局是Container。 -经常用到的布局控件:SimpleForm/Form/Accordion/TabStrip/BorderLayout,经常用到的布局:Fit/Row/Anchor +2008-09-08 v1.1 beta7 -MenuButton/MenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了<em>弹出</em>下级菜单,点击没反应,则可以这样设置HideOnClick="false" CssStyle="cursor:default;" [feedback:huayu]。[fixed] -MenuButton/MenuHyperLink/MenuSeparator/MenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed] +大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed] -注意Visible和Hidden的区别:Visible=false的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。 -US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。 -网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。 +2008-09-04 v1.1 beta6 -PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed] +模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed] -因为if("0,2,9,11,".indexOf('1,')>=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。 -解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) >= 0){ok}。 -DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed] -Button/MenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed] -Tree的Ajax支持(尚需优化)。[fixed] +2008-09-02 v1.1 beta5 -DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed] -模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField/DataValueField/DataSimulateTreeLevelField/DataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed] -UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed] -不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed] -网报Ajax整合基本完成(除了待审批->下一步[审核/归档/出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed] -IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed] -增加两个Theme[Slate/Black](样式尚需完善)。[fixed] +2008-09-01 v1.1 beta4 -非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个<em>问题</em>。[fixed] -RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和<em>父</em>控件(SimpleForm/Form)的背景色一致。[fixed] -TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed] -Web.config中增加配置项FormLabelWidth="80"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm/Form的表单字段标题的宽度。[fixed] +完善Ajax。[fixed] -RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue/SelectedItem)。 -DropDownList增加Ajax可更新属性Enable/SelectedIndex(SelectedValue/SelectedItem)/DataSource。 -Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。 -ToolbarText增加Ajax可更新属性Text。 +2008-08-31 v1.1 beta3 -TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed] -重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会出错。[fixed] +安全的Ajax设计。[fixed] -这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。 -基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。 -整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。 -网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed] +2008-08-29 v1.1 beta1 +Window控件是否<em>弹出</em>的状态在回发时维持。[fixed] -控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。 +完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed] -这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。 -不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。 +在这种设计下,其实可以完全抛弃Javascript。 -比如简单的点击一个按钮<em>弹出</em>窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。 -第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。 -推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。 +目前ExtAspNetAjax的限制。 -只对ExtAspNet控件起作用,对Asp.net控件不起作用。 -对容器控件(有<em>子</em>控件的控件)不起作用,只对最底层的控件起作用。 -对改变控件的Visible属性会有错误。 -Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。 -PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed] -Grid中的回发事件(<em>主</em>要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed] -Grid选中行的状态在第一次回发时不能保持的BUG。[fixed] +2008-08-26 v1.0 +已知<em>问题</em>:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。 -<em>主</em>要是<em>父</em>页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。 +优化<em>弹出</em>窗口中IFrame的显示速度。[fixed] -在当前页面<em>弹出</em>窗口需要~20ms,在<em>父</em>页面<em>弹出</em>窗口需要100~300ms。通过缓存<em>弹出</em>的窗口实例,从而第二次<em>弹出</em>窗口不再需要创建时间。 -PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor="#CADDF7",以便分隔符的颜色和Toolbar的颜色一致)[fixed] +PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed] -一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。 -TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed] +TabStrip中非当前Tab会延迟渲染。[fixed] -这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。 -由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。 -不能比较两个DataPicker大小的BUG。[fixed] -TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed] -全新的ExtAspNet.Examples(基础知识/表单控件/数据绑定/容器布局/IFrame框架)。[fixed] +2008-08-19 v0.4 beta6 +PageManager增加两个属性(EnableInlineStyleJavascript/ApplyParentStyleJavascript),可以在IFrame页面中使用<em>父</em>页面的脚本和样式(示例在iframe/default.aspx和iframe/page3.aspx)。[fixed] -测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。 -RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed] +extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6/IE7)(http://www.extjs.net/forum/showthread.php?t=43246)(示例在test.aspx)[fixed] -现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true; +需要先回发页面再<em>弹出</em>IFrame窗口。[fixed] -在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在<em>关闭</em>窗口时要注意设置Popup=false。 -另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。 +2008-08-15 v0.4 beta5 -点击<em>关闭</em>窗口的按钮,在IE6下会有JS错误。[fixed] -增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed] +Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed] -全新的样式。 -去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。 -GetValueReference取得的值不正确的BUG。 -动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed] +IFrame<em>弹出</em>窗口<em>关闭</em>后回发<em>父</em>页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed] -这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发<em>父</em>页面后Window中的IFrame被添加到页面,而这是不需要的。 -现在"是否<em>弹出</em>窗口、窗口标题、IFrameUrl"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此<em>问题</em>解决。(示例在button_iframe.aspx) +2008-08-13 v0.4 beta4 -点击<em>关闭</em>窗口的按钮,在IE下会有JS错误。[fixed] -Window的右上角<em>关闭</em>图标增加提示,优化事件响应。[fixed] -Window的代码重构。[fixed] +修正一个的内存泄漏。[fixed] -IE7下测试,打开iframe/default.aspx页面,iexplorer占内存68.368M。 -内存存在泄漏时,点击iframe/page3.aspx页面8次后iexplorer占118.792M内存。 -修正后,点击iframe/page3.aspx页面8次后iexplorer占76.492M内存。 -IE窗口最小化时,IE会自动进行垃圾回收。 +2008-08-12 v0.4 beta3 -底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed] -Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight="true"解决)。[fixed] +页面正在加载的提示尽早的显示出来。[fixed] -首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示出来。 -加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。 +2008-08-08 v0.4 beta2 -TabStrip延时加载出错。[fixed] -Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为./FE_ApplyEditor.aspx或~/Pages_ExtAspNet/FE_ApplyEditor.aspx。[fixed] -Window的WindowPosition="Center"并且Target="_parent",则会JS错误。[fixed] -实现网报首页下拉菜单和左侧菜单的导航功能。[fixed] -Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed] -优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed] -button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed] -Window中的保存并<em>关闭</em>按钮和Asp.netAjax冲突。[fixed] -优化<em>关闭</em>Window的js脚本,减少写到页面的js大小。[fixed] -加快“保存并<em>关闭</em>”按钮<em>关闭</em>窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed] +2008-08-05 v0.4 beta1 -DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed] -DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed] -为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed] -将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed] +<em>弹出</em>窗口中,点击按钮回发然后点击<em>关闭</em>按钮,出现js错误 [feedback:xmzhu]。[fixed] -因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。 -一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。 -另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx/simpleform.aspx)。 +PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed] -这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。 -每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed] -TextField等表单字段增加Readonly属性。[fixed] +全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed] -最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下) +示例1,通过点击按钮<em>弹出</em>IFrame窗口,可直接<em>关闭</em><em>父</em>页面,也可在<em>关闭</em>后<em>刷新</em>或回发<em>父</em>页面。(default.aspx/page2.aspx/simpleform.aspx) -虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target="_parent"),就完成了两种框架的转换,是不是很酷。 -显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)/page2.aspx(B)/simpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。 -示例2,Grid中<em>弹出</em>窗口。(default.aspx/page3.aspx/simpleform.aspx) +示例3,TriggerBox<em>弹出</em>窗口。(default.aspx/triggerbox.aspx/simpleform.aspx) -在整个页面<em>弹出</em>窗口或者在当前页面<em>弹出</em>窗口,仅仅设置Window的Target属性即可。 -示例4,<em>弹出</em>窗口中的<em>弹出</em>窗口。 -对整个Examples更新测试。[fixed] +2008-07-31 v0.3 beta12 -IE下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed] -对TabStrip/Panel/Window中的IFrame重新设计,如果设置IFrameUrl="#"或者"about:blank",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame不会有残影出现。[fixed] -如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed] -Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed] +规范<em>关闭</em>窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe中<em>关闭</em>按钮和window右上角<em>关闭</em>图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed] -内部实现上,点击“保存并<em>关闭</em>按钮”,可以将<em>关闭</em>窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再<em>关闭</em>窗口。 -参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed] -Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed] +IFrame内的页面宽度和高度会自动设置(是不是还在为1px/2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx/simpleform.aspx/simpleform2.aspx)[fixed] -增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE/Firefox)。 +2008-07-24 v0.3 beta11 -web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed] -Window在回发时设置的Title不起作用的BUG。[fixed] -增加Image控件 [feedback:jima]。[fixed] -Tree控件,如果一个节点不是叶<em>子</em>节点并且没有<em>子</em>节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed] -Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工<em>关闭</em>提示信息(示例在hyperlink.aspx)。[fixed] -去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed] -过滤提示消息中的换行符(转换为),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed] +2008-07-23 v0.3 beta10 +完善Tree控件。[fixed] -如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。 -ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。 -更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。 -Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed] -Grid所有类型的列增加DataTooltipField/DataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed] +2008-07-22 v0.3 beta9 +IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed] -发现原来ie6不能正确解析li的高度,必须手工设置才行(style="height:20px;")。 +IE6/IE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed] -虽然最后未能解决##差旅交通费在IE和Firefox下显示的不同效果。 -但是通过用来代替,从而实现FF和IE下样式的统一。 -刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-) -LinkButton增加OnClick事件 [feedback:huihuang]。[fixed] -Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed] +增加树控件(Tree)(示例在tree2.aspx)。[fixed] -可以在回发时维持树的状态(选中行,折叠/展开,CheckBox)。 -可以通过Inline的方式添加树节点,也可以绑定到XmlDocument/XmlDataSource/SiteMap。 -点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。 +2008-07-16 v0.3 beta8 +ContentPanel中放置ExtAspNet控件,则渲染时会出现各种<em>问题</em>,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed] -隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种<em>问题</em>(<em>主</em>要是大小不对)。 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。 -现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。 +IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed] -调试相当困难,如果你有过在IE下通过alert发现<em>问题</em>的经历,你就能明白。 -最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且<em>主</em>内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG: 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();): 示例在 Site.Master 页面。 +集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现内容区域的内容全部为空了![fixed] -解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();), 这样的代码让我想起<em>刷新</em>窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。 +2008-07-14 v0.3 beta6 -增加FlashObject控件。[fixed] -PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed] -Accordion选中样式微调。[fixed] -预加载Form表单出错时提示信息的背景图片。[fixed] +Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed] -因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置"EnableDelayRender=false"。 -改变Grid中静态的CheckBoxField图片。[fixed] -TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed] +2008-07-12 v0.3 beta5 -页面菜单Toolbar的分割符和背景不相融合。[fixed] -表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed] -如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。 +如果在编辑页面使用AspNetAjax,则不能在回发时<em>关闭</em>当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed] -这是由于ajax后执行的javascript中不能有return false语句。 +在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed] -在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。 -<em>弹出</em>Window默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是"#"。[fixed] +<em>弹出</em>的窗口中的<em>弹出</em>窗口的如果内容发生变化,则点击右上角的<em>关闭</em>按钮时会有提示用户先保存的对话框,但是这个对话框的被第二个<em>弹出</em>窗口覆盖了 [feedback:xmzhu]。[fixed] -原来的调用方法太麻烦(见示例中alert\alert_1.aspx和alert\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。 -点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed] +增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed] -增加SplitButton控件。[fixed] +2008-07-09 v0.3 beta4 -DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed] +Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed] -增加ControlToCompare/ValueToCompare/CompareOperator/CompareMessage四个属性,示例在form_compare.aspx。 +TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed] -特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置Url,只有在激活时才设置Url。 -RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed] -FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed] +表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed] -覆盖缺省样式的.x-item-disabled,设置不透明。 +2008-07-08 v0.3 beta3 -Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed] +增加HiddenField控件。[fixed] -其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle="display:none;"即可。 +TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed] -最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。 -模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed] +控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed] -增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。 -LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed] +2008-07-07 v0.3 beta2 +增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed] -使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个<em>子</em>节点,比如box:Panel。 -示例在ajax3.aspx/content_page4.aspx。 -示例content_page3.aspx中,点击“Ajax查询”按钮和<em>关闭</em><em>弹出</em>的窗口(点击右上角的叉)都引发异步更新。 +2008-07-03 v0.3 beta1 +容器控件的AutoHeight/AutoWidth默认为false。[fixed] -使用GroupPanel的地方需要手工添加AutoHeight="true"属性。 +增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed] -也可以在ContentPanel中放置用户控件,注意两者的区别。 +增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed] +支持Asp.net ajax异步加载。[fixed] -有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx/content_ajax2.aspx中。 -对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。 +2008-07-02 v0.2 beta12 +<em>关闭</em>前提示当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed] -支持Iframe内按钮和window右上角<em>关闭</em>按钮。 -删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。 +iframe中的alert/confirm要覆盖整个<em>父</em>页面,而不仅仅是iframe页面。[fixed] -在Firefox下还有<em>问题</em>。[fix pending] +排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed] -可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。 -可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。 +HyperLinkField/WindowField的链接地址支持服务器端格式(即是~/alert.aspx)。[fixed] -TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed] -可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed] +2008-06-30 v0.2 beta11 -增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed] -Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed] -<em>关闭</em>Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed] -如果表单验证不通过,则需要<em>弹出</em>对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed] +页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed] -目前还不支持Window右上角<em>关闭</em>按钮的提示保存功能。 -Master/Content的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed] -Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed] -增加静态类Confirm。[fixed] +2008-06-27 v0.2 beta10 +Grid完善。[fixed] -CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。 -Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。 -切换分页时清空选中的值 [feedback:jqpeng]。 -增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。 -DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。 +2008-06-25 v0.2 beta9 +Window<em>窗体</em>中的</a></div><div data-report-view="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/cq_bmy/270569","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1713876292929_75856\"}","spm":"1035.2023.3001.6557"}" class="list-item" data-v-ca2d15ac><div class="recommend-title" data-v-ca2d15ac><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAltJREFUWEdjZGBgYGhv/yD45//nEEYGBrX//xj4QWK0AoxMDB//MzDcYmHkXVNZKfCeEWz5v8/1DP8ZuGhlKVZzGRm+sTDxNjI2tz1OZfjHYEpXy2GWMTGcZmxpe9xN62DH5TlQdDA2tzyeNSC+h1o66gCyQyApUdRNSIhNGBSS7979ejtv/utd5EQl2Q7IypT0ExJiFoc44O/LadOfbxp1wPAOAWlpdr5Pn//8/Pzp70+QT3GlAX5+ZnYeHhb2p09/fiImRIhOhBYWvIo21ryWu/Z8PHDp4tdn2BxgoM8l4+IiYH/k6OdjJ058vk91B7g487swMDD8v3Hj+2VJSTYpfn5mEZAlHz/9ffPq5e+Xqqoc2iD+nr0f99DSAQQ9RhMHcHAwsYSGCtvKy7Gr4HPBo0c/b69c/fbwzx///hJ0KQMDA9FpAGaYizO/tpkZjwUTEyMTsgX//v3/d/LUl+N79368RozFMDUkOwCkUUODU8zHW9CFg4OJG8T/8ePf181b3u25efPHK1IsB6nF6gAjY25ZEWFWcNPs169/fw4c+HQD3WBBIRaOsBAhZ5D4qjXv9r5/9+cHuhoHBz4NNjYmFpD4m7e/P547+/UxuhqsDoiPE3WWlWVXgvju/5ee3qfLsfmMiZmBEST+7y/Df2zyJcXSkRwcjDwgucePf95buOj1Xqo6gFBwDw8H/P/P8O/nz//fCPkWmzw7OyMXIyMDOLeQHQXkWIxNz9BygJubgI6kBCu4tUMt8PzF75e7dn24QlQuoJalxJgzCDomA901G/DOKSieBrJ7DgCPdYFAskV/NwAAAABJRU5ErkJggg==" alt data-v-ca2d15ac> <a target="_blank" href="https://download.csdn.net/download/cq_bmy/270569" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/cq_bmy/270569","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1713876292929_75856\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default" class="title" data-v-ca2d15ac>移动密码箱071026</a></div> <a target="_blank" href="https://download.csdn.net/download/cq_bmy/270569" data-report-click="{"mod":"popu_645","index":"5","dest":"https://download.csdn.net/download/cq_bmy/270569","strategy":"2~default~OPENSEARCH~Rate","extra":"{\"utm_medium\":\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\",\"dist_request_id\":\"1713876292929_75856\"}","spm":"1035.2023.3001.6557"}" data-report-query="spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default" class="desc" data-v-ca2d15ac>手机上的密码管理程序。<br><br>下载:<br>pwd.rar(071026) v0.7.2.3<br> a).解决当按钮用来作输入用时按"C"键清除按钮文本的<em>刷新</em><em>问题</em>;<br> b).修正更改密码输入框标题;<br> c).树组件增加根图标;<br> d).完成数据交换设置功能.<br><br>pwd.rar(071024) v0.7.2.2<br> a).增加"C"键删除分类或项目功能;<br> b).当按钮用来作输入用时,按"C"键可清除按钮文本,按数字键可进入文本输入状态;<br> c).发送消息时,内容不包括密码并且当备注为空时去掉"备注:",初始化<em>窗体</em>后自动进入发送目标输入状态;<br> d).帮助对话框增加"下页"功能.<br><br>pwd.rar(071023) v0.7.2.1<br> a).解决新建项目无关联菜单BUG;<br> b).<em>主</em>界面状态下按返回键退出程序;<br> c).增加锁定时应用程序最小化功能;<br> d).增加定时锁定功能.<br><br>pwd.rar(071022) v0.7.2<br><br>操作手册<br>1.系统密码<br> 1).第一次进入本系统时系统密码为空,登录后请立即修改密码;<br> 2).数据交换功能中,系统导出数据到邮箱时以当前系统密码作为数据交换包文件密码;<br> 3).系统琐定后解锁所需要的密码即为该密码.<br>2.分类节点的展开与收缩<br> 1).选择分类后按摇按选择键使分类在展开与收缩状态间切换;<br> 2).手写笔点击分类前+/-符号可展开/收缩已收缩/展开的分类节点;<br> 3).选择分类后,按摇按左向键收缩已展开的分类,按摇按右向键展开已收缩的分类.<br>3.项目明细信息查看途径 <br> 1).选择项目后按摇按选择键使项目进入明细信息显示状态,当再次按下该键后切换到正常状态;<br> 2).手写笔点击项目,手写笔离开后项目从明细信息状态自动切换到正常状态;<br> 3).按左软键"编辑项目"<em>弹出</em>项目编辑对话框.<br>4.移动分类或项目<br> 1).层内节点可进行上下位置移动;<br> 2).节点左移表示将节点移动到上一层即<em>父</em>节点层,节点右移表示将节点移动到上一兄弟节点的<em>子</em>节点层;<br> 3).在移动分类或项目状态下,按"*a/A"后摇杆移动切换为密码树节点浏览<em>模式</em>,此时并不实质性地移动节点,再次按"*a/A"之后恢复移动状态.<br>5.发送消息<br> 即向选定的联系人或电话号码发送所选择的项目信息.<br>6.数据交换<br> 1).设置<br> 程序利用因特网上的邮件服务器进行数据交换,顺利使用该功能的前提条件是你必须设置好你的邮箱帐号、POP3服务器及SMTP服务器.<br> 2).导出<br> 将选择的信息打包成加密数据文件并存储于你提供的邮箱地址当中,以供"移动密码箱/PC密码箱"程序导入数据时使用.<br> 3).导入<br> 从你提供的邮箱地址选择"移动密码箱/PC密码箱"程序导出数据的文件,下载后选择要导入的信息并选择要导入的<br>位置后,将进行导入处理.<br>7.更多帮助请访问"关于"页面中的Blog地址. <br>http://blog.csdn.net/cq_bmy/archive/2007/10/22/1836430.aspx</a></div></div></div></div> <div class="public_pc_right_footer2020" style="display:none;" data-v-4a5a7f56></div></div> <div id="right-floor-user-content_562" data-editor="{"type":"floor","pageId":143,"floorId":562}" class="user-right-floor right-box main-box detail-user-right" data-v-229a00b0><div class="__vuescroll" style="height:100%;width:100%;padding:0;position:relative;overflow:hidden;"><div class="__panel __hidebar" style="position:relative;box-sizing:border-box;height:100%;overflow-y:hidden;overflow-x:hidden;transform-origin:;transform:;"><div class="__view" style="position:relative;box-sizing:border-box;min-width:100%;min-height:100%;"><!----><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="introduce" data-v-4722a3ae><div class="introduce-title" data-v-4722a3ae><div class="img-info" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/DotNET" class="community-img" data-v-4722a3ae><img src="https://img-community.csdnimg.cn/avatar/745f64491f2744dcbce3cd7127270b93.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt data-v-4722a3ae> <div title=".NET社区" class="community-name" data-v-4722a3ae> .NET社区 </div></a></div></div> <div class="content" data-v-4722a3ae><div class="detail" data-v-4722a3ae><div title="62046" class="item" data-v-4722a3ae><p class="num" data-v-4722a3ae> 62,046 </p> <p class="desc" data-v-4722a3ae> 社区成员 </p></div> <div title="669049" class="item" data-v-4722a3ae><a href="https://bbs.csdn.net/forums/DotNET" target="_blank" data-v-4722a3ae><p class="num" data-v-4722a3ae> 669,049 </p> <p class="desc" data-v-4722a3ae> 社区内容 </p></a></div></div> <div class="detail-btns" data-v-4722a3ae><div class="community-ctrl-btns_wrapper" data-v-0ebf603c data-v-4722a3ae><div class="community-ctrl-btns" data-v-0ebf603c><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-160be461 data-v-0ebf603c><div data-report-click="{"spm":"3001.5975"}" data-v-160be461><img src="https://csdnimg.cn/release/cmsfe/public/img/topic.427195d5.png" alt="" class="img sendTopic" data-v-160be461 data-v-0ebf603c> <span data-v-160be461 data-v-0ebf603c>发帖</span></div> <!----> <!----></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/me.40a70ab0.png" alt="" class="img me" data-v-0ebf603c> <span data-v-0ebf603c>与我相关</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/task.87b52881.png" alt="" class="img task" data-v-0ebf603c> <span data-v-0ebf603c>我的任务</span></div></div><div class="community-ctrl-btns_item" data-v-0ebf603c><div class="community-share" data-v-4ca34db9 data-v-0ebf603c><div class="handle-item share" data-v-ca030a68 data-v-4ca34db9><span height="384" data-v-ca030a68><div role="tooltip" id="el-popover-7684" aria-hidden="true" class="el-popover el-popper popo share-popover" style="width:265px;display:none;"><!----><div id="tool-QRcode" class="QRcode" data-v-ca030a68><img src="https://csdnimg.cn/release/cmsfe/public/img/shareBg2.05330abf.png" alt="" class="share-bg" data-v-ca030a68> <div class="share-bg-box" data-v-ca030a68><div class="share-content" data-v-ca030a68><img src="https://img-community.csdnimg.cn/avatar/745f64491f2744dcbce3cd7127270b93.png?x-oss-process=image/resize,m_fixed,h_88,w_88" alt="" class="share-avatar" data-v-ca030a68> <div class="share-tit" data-v-ca030a68>.NET社区</div> <div class="share-dec" data-v-ca030a68>.NET技术交流专区</div> <span class="copy-share-url" data-v-ca030a68>复制链接</span> <div class="shareText" data-v-ca030a68> </div></div> <div class="share-code" data-v-ca030a68><div class="qrcode" data-v-ca030a68></div> <div class="share-code-text" data-v-ca030a68>扫一扫</div></div></div></div> </div><span class="el-popover__reference-wrapper"><div data-v-0ebf603c><img src="https://csdnimg.cn/release/cmsfe/public/img/share-circle.3e0b7822.png" alt="" class="img share" data-v-0ebf603c> <span data-v-0ebf603c>分享</span></div></span></span></div> <!----></div></div></div> <!----> <div data-v-4fb59baf data-v-0ebf603c><div class="el-dialog__wrapper ccloud-pop-outer2" style="display:none;" data-v-4fb59baf><div role="dialog" aria-modal="true" aria-label="dialog" class="el-dialog el-dialog--center" style="margin-top:15vh;width:70%;"><div class="el-dialog__header"><span class="el-dialog__title"></span><!----></div><!----><div class="el-dialog__footer"><span class="dialog-footer clearfix" data-v-4fb59baf><div class="confirm-btm fr" data-v-4fb59baf>确定</div></span></div></div></div></div></div></div></div> <div style="display:none;" data-v-4722a3ae data-v-4722a3ae><!----> <div class="introduce-desc" data-v-4722a3ae><div class="introduce-desc-title" data-v-4722a3ae>社区描述</div> <span data-v-4722a3ae> .NET技术交流专区 </span></div></div> <div class="introduce-text" data-v-4722a3ae><div class="label-box" data-v-4722a3ae><span class="label" data-v-4722a3ae>javascript</span><span class="label" data-v-4722a3ae>云原生</span> <span class="label" data-v-4722a3ae>企业社区</span> <!----></div></div> <!----> <div class="manage" data-v-4722a3ae><div class="manage-inner" data-v-4722a3ae><span data-v-4722a3ae>社区管理员</span> <ul data-v-4722a3ae><li data-v-4722a3ae><a href="https://blog.csdn.net/community_93" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt="ASP.NET" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/dotnetconf" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/default.jpg!1" alt=".Net开发者社区" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li><li data-v-4722a3ae><a href="https://blog.csdn.net/weixin_41960540" target="_blank" class="start-img" data-v-4722a3ae><img src="https://profile-avatar.csdnimg.cn/aa17748a52c84d88ba031f9895a4ea32_weixin_41960540.jpg!1" alt="R小R" class="el-tooltip item" data-v-4722a3ae data-v-4722a3ae></a></li></ul></div></div> <div class="actions" data-v-4722a3ae><!----> <div style="flex:1;" data-v-4722a3ae><div class="join-btn" data-v-4722a3ae> 加入社区 </div></div> <!----> <!----></div> <div class="el-dialog__wrapper" style="display:none;" data-v-38c57799 data-v-4722a3ae><div role="dialog" aria-modal="true" aria-label="获取链接或二维码" class="el-dialog join-qrcode-dialog" style="margin-top:15vh;width:600px;"><div class="el-dialog__header"><span class="el-dialog__title">获取链接或二维码</span><button type="button" aria-label="Close" class="el-dialog__headerbtn"><i class="el-dialog__close el-icon el-icon-close"></i></button></div><!----><div class="el-dialog__footer"><span class="dialog-footer" data-v-38c57799></span></div></div></div> <div class="collapse-btn" data-v-4722a3ae><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAAAgCAYAAACFM/9sAAAAAXNSR0IArs4c6QAAAi1JREFUaEPtl01u01AUhc+N8wMSO4AxzJAqwQpKQsdtbMOICmKnwCKQ2ACDIgotrYKiduIiVZ10B0CBAjtAbICfooomJr3IcUoTiVLb15GNuG/67nm65/M5AxP0iAiQSK1iKEBhCBSgAhQSEMo1gQpQSEAo1wQqQCEBoVwT+K8CnLnWvER8cOHMaf95q9Xaj+vDtp3LPeD83u6p9a2t+U5cfVrzmSTQNOfOgg4+ATDAeNHp/Jza3Fz5HtWUZbl3GXjYn2e+53lL96Nq057LBOD0dOOcUSx8BFAcGHpZLlWmVlfnd08yaJrubRAe/Z77HwEG5kdS1E8StgFc9bzFb8dBrNtukxgLwOAXNEF6T/pAce8zSeDhknXbuUNMQRUHe/BrMNX+BNGyHIdBT45m6VVn36/FqX5cOFHmMwUYJrE5x+CgkuEujLe+361ubLS+HhowzeYtEC8NzWyXy5ValMpHgSCZyRxgsLxpui4Ij4/ShZ1S0aiurS18sSznJoOeDt29AaP6t6pLgMTV5gJgsHTddhvEWBwC9Y6AZww8AFA4Lp1xDac9nxuAYZ37aQuqGgIbPTt+t3tluNppw0jyXq4AhnV2ZkG0PAKR8b5UMiaDSicxOU5N7gCGSXRvMLAygPgB3Jv0vOXP4wSR9O1cAgzMzFxvXDR6hYlK5cd6u93eS2pw3LrcAhy38bTeV4BCkgpQAQoJCOWaQAUoJCCUawIVoJCAUK4JVIBCAkL5L1yapyGdIBwvAAAAAElFTkSuQmCC" alt data-v-4722a3ae></div></div><!----><!----><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor-user-right-rank" data-v-3d3affee><div class="el-tabs el-tabs--top" data-v-3d3affee><div class="el-tabs__header is-top"><div class="el-tabs__nav-wrap is-top"><div class="el-tabs__nav-scroll"><div role="tablist" class="el-tabs__nav is-top" style="transform:translateX(-0px);"><div class="el-tabs__active-bar is-top" style="width:0px;transform:translateX(0px);ms-transform:translateX(0px);webkit-transform:translateX(0px);"></div></div></div></div></div><div class="el-tabs__content"><div role="tabpanel" id="pane-integral" aria-labelledby="tab-integral" class="el-tab-pane" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-3" aria-labelledby="tab-3" class="el-tab-pane" style="display:none;" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-5" aria-labelledby="tab-5" class="el-tab-pane" style="display:none;" data-v-3d3affee></div><div role="tabpanel" aria-hidden="true" id="pane-6" aria-labelledby="tab-6" class="el-tab-pane" style="display:none;" data-v-3d3affee></div></div></div> <div class="floor-user-right-rank-score" data-v-608528ce data-v-3d3affee><div class="floor-user-right-rank-score-tabs" data-v-608528ce><ul data-v-608528ce><li data-v-608528ce> 近7日 </li><li data-v-608528ce> 近30日 </li><li class="active" data-v-608528ce> 至今 </li></ul></div> <div class="floor-user-right-rank-common" data-v-46cf600d data-v-608528ce><div class="rank-list" data-v-46cf600d><!----> <div class="no-data loading" data-v-46cf600d><i class="el-icon-loading" data-v-46cf600d></i> <p data-v-46cf600d>加载中</p></div> <!----> <a href="https:///DotNET/rank/list/total" target="_blank" class="show-more" data-v-46cf600d> 查看更多榜单 </a></div></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="floor comunity-rule" data-v-3cfa4dbd><div class="title" data-v-3cfa4dbd> 社区公告 </div> <div class="contain" data-v-3cfa4dbd><div class="inner-content" data-v-3cfa4dbd><p>.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。</p> <p>希望和大家一起共同营造一个活跃、友好的社区氛围。</p> </div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="user-right-adimg empty-arr" data-v-15c6aa4f><div class="adImgs" data-v-2a6389b9 data-v-15c6aa4f><!----> <div data-v-2a6389b9><!----></div></div></div><div comp-data="[object Object]" baseInfo="[object Object]" community="[object Object]" class="content-right-recommend" data-v-0f781e88><div data-v-3798762e data-v-0f781e88><!----> <!----></div></div><div comp-data="[object Object]" baseInfo="[object Object]" typePage="detail" community="[object Object]" class="ai-entrance" data-v-eb1c454c><p data-v-eb1c454c>试试用AI创作助手写篇文章吧</p> <div class="entrance-btn-line" data-v-eb1c454c><a href="https://mp.csdn.net/edit?guide=1" target="_blank" data-report-click="{"spm":"3001.9712"}" data-report-query="spm=3001.9712" class="entrance-btn" data-v-eb1c454c>+ 用AI写文章</a></div></div></div></div></div></div></div></div></div></div></div></div></div> <div> <script type="text/javascript" src="https://g.csdnimg.cn/common/csdn-footer/csdn-footer.js" data-isfootertrack="false" defer></script> </div></div></div><script> window.__INITIAL_STATE__= {"csrf":"soffFTYY-4iP2FfTvh_vGze2i7iEx6RnWiZc","origin":"http:\u002F\u002Fbbs.csdn.net","isMobile":false,"cookie":"uuid_tt_dd=10_3162865890-1713876292868-607233;","ip":"18.218.38.125","pageData":{"page":{"pageId":143,"title":"社区详情","keywords":"社区详情","description":"社区详情","ext":{"isMd":"true","armsfe1":"{pid:\"dyiaei5ihw@1a348e4d05c2c78\",appType:\"web\",imgUrl:\"https:\u002F\u002Farms-retcode.aliyuncs.com\u002Fr.png?\",sendResource:true,enableLinkTrace:true,behavior:true}","redPacketCfg":"{\"presetTitle\":[\"成就一亿技术人!\",\"大吉大利\",\"节日快乐\",\"Bug Free\",\"Hello World\",\"Be Greater Than Average!!\"],\"defaultTitle\":\"成就一亿技术人!\",\"preOpenSty\":{},\"redCardSty\":{}}","blogStar":"[{\"year\":\"2021\",\"enable\":true,\"communityIds\":[3859],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2021\"},{\"year\":\"2022\",\"enable\":true,\"communityIds\":[3860],\"url\":\"https:\u002F\u002Fbbs.csdn.net\u002Fsummary2022\"}]","mdVersion":"https:\u002F\u002Fcsdnimg.cn\u002Frelease\u002Fmarkdown-editor\u002F1.1.0\u002Fmarkdown-editor.js","componentSortCfg":"{ \"right\":[\"ratesInfo\",\"cty-profile\",\"pub-comp\",\"user-right-introduce\",\"post-event\",\"my-mission\",\"user-recommend\",\"user-right-rank\",\"user-right-rule\",\"user-right-adimg\"] }","show_1024":"{\"enable\":false,\"useWhitelist\":false,\"whitelist\":[76215],\"home\":\"https:\u002F\u002F1111.csdn.net\u002F\",\"logo\":\"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221104102741.png\",\"hideLive\":true}","iframes":"[\"3859\"]","pageCfg":"{\"disableDownloadPDF\": false,\"hideSponsor\":false}"}},"template":{"templateId":71,"templateComponentName":"ccloud-detail","title":"ccloud-detail","floorList":[{"floorId":562,"floorComponentName":"floor-user-content","title":"社区详情页","description":"社区详情页","indexOrder":3,"componentList":[{"componentName":"baseInfo","componentDataId":"cloud-detail1","componentConfigData":{},"relationType":3},{"componentName":"user-right-introduce","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-recommend","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rank","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-rule","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"user-right-adimg","componentDataId":"","componentConfigData":{},"relationType":2},{"componentName":"default2014LiveRoom","componentDataId":"20221024DefaultLiveRoom","componentConfigData":{},"relationType":3}]}]},"data":{"baseInfo":{"customDomain":"","uriName":"DotNET","communityHomePage":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET","owner":{"userName":"community_93","nickName":"ASP.NET","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","position":"","companyName":""},"user":{"userRole":3,"userName":null,"nickName":null,"avatarUrl":null,"rank":null,"follow":2,"communityBase":null,"joinCollege":null,"isVIP":null},"community":{"name":".NET社区","description":".NET技术交流专区","avatarUrl":"https:\u002F\u002Fimg-community.csdnimg.cn\u002Favatar\u002F745f64491f2744dcbce3cd7127270b93.png?x-oss-process=image\u002Fresize,m_fixed,h_88,w_88","qrCode":"","createTime":"2007-09-28","communityAvatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","communityNotice":null,"userCount":62046,"contentCount":669049,"followersCount":49818,"communityRule":"\u003Cp\u003E.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。\u003C\u002Fp\u003E\n\n\u003Cp\u003E希望和大家一起共同营造一个活跃、友好的社区氛围。\u003C\u002Fp\u003E\n","communityId":211,"bgImage":"","hashId":"2lwpzdnk","domain":"","uriName":"DotNET","externalDisplay":1,"adBanner":{"img":"","url":"","adType":0,"adCon":null},"rightBanner":{"img":"","url":"","adType":0,"adCon":null},"tagId":null,"tagName":null,"communityType":2,"communityApplyUrl":"https:\u002F\u002Fmarketing.csdn.net\u002Fquestions\u002FQ2106040308026533763","joinType":0,"visibleType":0,"collapse":0,"topicMoveAble":0,"allowActions":{},"communityOwner":"community_93","tagNameInfo":{"provinceTag":null,"areaTag":null,"technologyTags":[{"id":190,"name":"javascript"},{"id":400064,"name":"云原生"}],"customTags":[{"id":1,"name":"企业社区"}]}},"tabList":[{"tabId":862,"tabName":"问答","tabUrl":"https:\u002F\u002Fask.csdn.net\u002Flist\u002F3\u002Ftag\u002F576","tabSwitch":1,"tabType":0,"tabContribute":0,"indexOrder":0,"iframe":true,"sortType":1},{"tabId":20680,"tabName":".NET Conf China","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":1,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=20680","iframe":false,"sortType":1},{"tabId":1370,"tabName":"全部","tabUrl":"","tabSwitch":1,"tabType":4,"tabContribute":0,"cardType":0,"indexOrder":2,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=1370","iframe":false,"sortType":1},{"tabId":420,"tabName":"招聘","tabUrl":"","tabSwitch":1,"tabType":3,"tabContribute":0,"indexOrder":3,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=420","iframe":false,"sortType":1},{"tabId":23493,"tabName":"社区公告","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":3,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=23493","iframe":false,"sortType":1},{"tabId":22149,"tabName":"寻找 .NET 技术达人","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":4,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=22149","iframe":false,"sortType":1},{"tabId":714,"tabName":".NET Framework","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":5,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=714","iframe":false,"sortType":1},{"tabId":21249,"tabName":".NET Core","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":6,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21249","iframe":false,"sortType":1},{"tabId":21248,"tabName":"微服务","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":7,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21248","iframe":false,"sortType":1},{"tabId":21250,"tabName":".NET5 \u002F 6","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":8,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21250","iframe":false,"sortType":1},{"tabId":21498,"tabName":".NET技术前瞻","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":9,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21498","iframe":false,"sortType":1},{"tabId":21500,"tabName":"VC","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":10,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21500","iframe":false,"sortType":1},{"tabId":21499,"tabName":".NET技术其他语言","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":11,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21499","iframe":false,"sortType":1},{"tabId":21251,"tabName":"ASP_NET","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":12,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21251","iframe":false,"sortType":1},{"tabId":21253,"tabName":"EF","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":13,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21253","iframe":false,"sortType":1},{"tabId":21254,"tabName":"EF Core","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":14,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21254","iframe":false,"sortType":1},{"tabId":715,"tabName":"Web Services","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":15,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=715","iframe":false,"sortType":1},{"tabId":717,"tabName":"桌面应用","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":16,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=717","iframe":false,"sortType":1},{"tabId":716,"tabName":"VB","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":17,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=716","iframe":false,"sortType":1},{"tabId":718,"tabName":"图表区","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":18,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=718","iframe":false,"sortType":1},{"tabId":21258,"tabName":"前端","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21258","iframe":false,"sortType":1},{"tabId":4055689,"tabName":"博文收录","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":19,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=4055689","iframe":false,"sortType":1},{"tabId":719,"tabName":"分析与设计","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=719","iframe":false,"sortType":1},{"tabId":1638782,"tabName":"Ada助手","tabUrl":"","tabSwitch":1,"tabType":2,"tabContribute":0,"cardType":0,"indexOrder":20,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=1638782","iframe":false,"sortType":1},{"tabId":720,"tabName":"组件\u002F控件开发","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":21,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=720","iframe":false,"sortType":1},{"tabId":721,"tabName":"AppLauncher","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":22,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=721","iframe":false,"sortType":1},{"tabId":21252,"tabName":"圈内交友","tabUrl":"","tabSwitch":1,"tabType":1,"tabContribute":1,"cardType":0,"indexOrder":23,"url":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET?typeId=21252","iframe":false,"sortType":1}],"dataResource":{"mediaType":"c_cloud","subResourceType":"8_c_cloud_long_text","showType":"long_text","tabId":0,"communityName":".NET社区","communityHomePageUrl":"https:\u002F\u002Fbbs.csdn.net\u002Fforums\u002FDotNET","communityType":2,"content":{"id":"200016363","contentId":200016363,"cateId":0,"cateName":null,"url":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F200016363","shareUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F200016363","createTime":"2008-01-10 02:13:09","updateTime":"2021-05-28 16:08:44","resourceUsername":"java_mp5","best":0,"top":0,"text":null,"publishDate":"2008-01-10","lastReplyDate":"2008-01-11","type":"13","nickname":"java_mp5","avatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F002be6a682b34f29842f07e7ec6bb33f_java_mp5.jpg!1","username":"java_mp5","commentCount":13,"diggNum":0,"digg":false,"viewCount":569,"hit":false,"resourceSource":6,"status":10,"taskStatus":null,"expired":false,"taskCate":0,"taskAward":0,"taskExpired":null,"checkRedPacket":null,"avgScore":0,"totalScore":0,"topicTitle":"主窗体弹出模式子窗体,关闭模式子窗体并刷新父窗体的问题.","insertFirst":false,"likeInfo":null,"description":"主窗体代码 子窗体代码 head 后面 function test() { window.opener.location.rel","coverImg":"https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221109053802.png","content":"主窗体代码\u003Cbr \u002F\u003E\n<input id="Button1" type="button" value="关闭" onclick="javascript:window.showModalDialog('Open.aspx?ID=1', this, 'dialogWidth=300px;dialogHeight=300px');" \u002F><\u002Ftd>\u003Cbr \u002F\u003E\n \u003Cbr \u002F\u003E\n子窗体代码\u003Cbr \u002F\u003E\nhead 后面 <base target="_self" \u002F>\u003Cbr \u002F\u003E\nfunction test()\u003Cbr \u002F\u003E\n {\u003C!-- --\u003E\u003Cbr \u002F\u003E\n window.opener.location.reload(); \u003Cbr \u002F\u003E\n self.close(); \u003Cbr \u002F\u003E\n}\u003Cbr \u002F\u003E\n<input id="Button2" type="button" value="button" onclick="test();" \u002F>\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n为什么总是提示window.opener.location 为空或不是对象 的错误?\u003Cbr \u002F\u003E\n该怎么做?","mdContent":null,"pictures":null,"videoInfo":null,"linkInfo":null,"student":{"isCertification":false,"org":"","bala":""},"employee":{"isCertification":false,"org":"","bala":""},"userCertification":[],"dependId":"0","dependSubType":null,"videoUrl":null,"favoriteCount":0,"favoriteStatus":false,"taskType":null,"defaultScore":null,"syncAsk":false,"videoPlayLength":null},"communityUser":null,"allowPost":false,"submitHistory":[{"user":{"registerurl":"https:\u002F\u002Fg.csdnimg.cn\u002Fstatic\u002Fuser-reg-year\u002F1x\u002F20.png","avatarurl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F002be6a682b34f29842f07e7ec6bb33f_java_mp5.jpg!1","nickname":"java_mp5","selfdesc":"","createdate":"2004-07-23 13:36:00","days":"7215","years":"20","username":"java_mp5","school":null,"company":null,"job":null},"userName":"java_mp5","event":"创建了帖子","body":"2008-01-10 02:13","editId":null}],"resourceExt":{}},"contentReply":{"pageNo":1,"pageSize":20,"totalPages":1,"totalCount":13,"total":0,"list":[{"hit":null,"hitMsg":null,"content":"xuexi,明天去公司试试 ","topicTitle":null,"description":"xuexi,明天去公司试试 ","id":200252978,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"zyjmib","userNickName":"zyjmib","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F060d160b70434d899c6b05975d62ab00_zyjmib.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":2044971970,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-11 11:15:41","updateTime":"2008-01-11 11:15:40","formatTime":"2008-01-11","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"刷新要示情况而定\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n有几种情况:\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n第一种,你的父窗体的数据是初始化得到的,那你子窗体关闭刷新父窗体是全部重新获取新数据\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n楼上的 JlinShu 说的就是这种情况\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n还有别的方法, \u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n第二种,你的交窗体的数据是按查询按钮得到的,那你子窗体关闭刷新父窗体是得重新调用你父窗体的查询按钮获得新数据\u003Cbr \u002F\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-JScript\"\u003E\u003Cbr \u002F\u003E\nfunction RefreshParentWindows()\u003Cbr \u002F\u003E\n { \u003Cbr \u002F\u003E\n if (window.opener != null)\u003Cbr \u002F\u003E\n { \u003Cbr \u002F\u003E\n window.opener.document.getElementById("btnSearch").click();\u003Cbr \u002F\u003E\n window.close();\u003Cbr \u002F\u003E\n } \u003Cbr \u002F\u003E\n }\u003Cbr \u002F\u003E\n <\u002Fscript>\u003Cbr \u002F\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003Cbr \u002F\u003E\n \u003Cbr \u002F\u003E\n ","topicTitle":null,"description":"刷新要示情况而定 有几种情况: 第一种,你的父窗体的数据是初始化得到的,那你子窗体关闭刷新父窗体是全部重新获取新数据 楼上的 JlinShu 说的就是这种情况 还有别的方法, 第二种,你的交窗体的数据是按查询按钮得到的,那你子窗体关闭刷新父窗体是得重新调用你父窗体的查询按钮获得新数据 function RefreshParentWindows() { if (window.opener != null) { window.opener.document.getElementById(\"btnSe","id":200225775,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"cefriend","userNickName":"cefriend","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3397333188,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 04:09:23","updateTime":"2008-01-10 04:09:23","formatTime":"2008-01-10","userRoleHonorary":{"userName":"cefriend","roleId":216,"roleType":0,"roleStatus":1,"honoraryId":0,"roleName":"","honoraryName":null,"communityNickname":"","communitySignature":""},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"父窗口改成 \u003Cbr \u002F\u003E\nonclick="javascript:window.showModalDialog('Open.aspx?ID=1', this, 'dialogWidth=300px;dialogHeight=300px');location.reload();" \u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n模窗改成 \u003Cbr \u002F\u003E\nfunction test() \u003Cbr \u002F\u003E\n{ \u003Cbr \u002F\u003E\n window.close();\u003Cbr \u002F\u003E\n} \u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n这样就能达到你要的效果","topicTitle":null,"description":"父窗口改成 onclick=\"javascript:window.showModalDialog('Open.aspx?ID=1', this, 'dialogWidth=300px;dialogHeight=300px');location.reload();\" 模窗改成 function test() { window.close(); } 这样就能达到你要的效果","id":200225332,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"JlinShu","userNickName":"JlinShu","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":989555938,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:52:50","updateTime":"2008-01-10 03:52:50","formatTime":"2008-01-10","userRoleHonorary":{"userName":"JlinShu","roleId":216,"roleType":0,"roleStatus":1,"honoraryId":0,"roleName":"","honoraryName":null,"communityNickname":"","communitySignature":""},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"window.showModalDialog方式\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-JScript\"\u003E\u003Cbr \u002F\u003E\nfunction ShowDialog(url) \u003Cbr \u002F\u003E\n{ \u003Cbr \u002F\u003E\n var iWidth=300; \u002F\u002F窗口宽度\u003Cbr \u002F\u003E\n var iHeight=200;\u002F\u002F窗口高度\u003Cbr \u002F\u003E\n var iTop=(window.screen.height-iHeight)\u002F2;\u003Cbr \u002F\u003E\n var iLeft=(window.screen.width-iWidth)\u002F2;\u003Cbr \u002F\u003E\n vReturn=window.showModalDialog(url,window,"dialogHeight: "+iHeight+"px;dialogWidth: "+iWidth+"px;dialogTop: "+iTop+";dialogLeft: "+iLeft+"; resizable: no; status: no;scroll:no");\u003Cbr \u002F\u003E\n}\u003Cbr \u002F\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n注意这里的第二个参数,window\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n在showModalDialog打开的页面内用window.dialogArguments 可以获得 window\u003Cbr \u002F\u003E\n用window.returnValue 可以设置 父窗体的 vReturn 的值 也就是 showModalDialog 的返回值","topicTitle":null,"description":"window.showModalDialog方式 function ShowDialog(url) { var iWidth=300; \u002F\u002F窗口宽度 var iHeight=200;\u002F\u002F窗口高度 var iTop=(window.screen.height-iHeight)\u002F2; var iLeft=(window.screen.width-iWidth)\u002F2; vReturn=window.showModalDialog(url,window,\"dialogHeight: \"+iHeight+","id":200225258,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"Sandy945","userNickName":"阿非","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F7847d997516b4d8f94d4fbe9406a7f68_sandy945.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3683575741,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:50:14","updateTime":"2008-01-10 03:50:14","formatTime":"2008-01-10","userRoleHonorary":{"userName":"Sandy945","roleId":216,"roleType":0,"roleStatus":1,"honoraryId":0,"roleName":"","honoraryName":null,"communityNickname":"","communitySignature":""},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"我记得在框架下不能用window.opene的\u003Cbr \u002F\u003E\n解决方法就是你心中要有一个概念就是虽然网页是无状态的但是asp.net控件是有状态的!","topicTitle":null,"description":"我记得在框架下不能用window.opene的 解决方法就是你心中要有一个概念就是虽然网页是无状态的但是asp.net控件是有状态的!","id":200225038,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"lz1201048","userNickName":"lz1201048","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F6d644cadbcad49af89d60f9c7c7cf2f3_lz1201048.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3661866151,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:40:33","updateTime":"2008-01-10 03:40:34","formatTime":"2008-01-10","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"模式窗口刷新父窗口 \u003Cbr \u002F\u003E\n模式窗口中点击按钮让父窗口跳转到新的页面,不可用 opener.document.location 方式来设置,只能在父窗口把当前window对象传递到模式窗口,模式窗口使用 dialogArguments 来获得父窗口对象。\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n父窗口(需要把当前页面window对象传递到模式窗口页面)\u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n<a href="javascript:Openersub('qy.htm');" >test<\u002Fa>\u003Cbr \u002F\u003E\n<script>\u003Cbr \u002F\u003E\nfunction Openersub(strUrl)\u003Cbr \u002F\u003E\n{\u003C!-- --\u003E\u003Cbr \u002F\u003E\n var vTmd=Math.random();\u003Cbr \u002F\u003E\n var vReturn='';\u003Cbr \u002F\u003E\n var strFeature = 'dialogWidth:530px;dialogHeight:470px;status:0;scroll:1:0;help:0;';\u003Cbr \u002F\u003E\n if(strUrl.indexOf('?')>-1)\u003Cbr \u002F\u003E\n {\u003C!-- --\u003E\u003Cbr \u002F\u003E\n vReturn=window.showModalDialog(strUrl+'&tmd='+vTmd,window,strFeature);\u003Cbr \u002F\u003E\n }\u003Cbr \u002F\u003E\n else\u003Cbr \u002F\u003E\n {\u003C!-- --\u003E\u003Cbr \u002F\u003E\n vReturn=window.showModalDialog(strUrl+'?tmd='+vTmd,window,strFeature);\u003Cbr \u002F\u003E\n } \u003Cbr \u002F\u003E\n\u003Cbr \u002F\u003E\n}\u003Cbr \u002F\u003E\n<\u002Fscript>\u003Cbr \u002F\u003E\n","topicTitle":null,"description":"模式窗口刷新父窗口 模式窗口中点击按钮让父窗口跳转到新的页面,不可用 opener.document.location 方式来设置,只能在父窗口把当前window对象传递到模式窗口,模式窗口使用 dialogArguments 来获得父窗口对象。 父窗口(需要把当前页面window对象传递到模式窗口页面) \u003Ca href=\"javascript:Openersub('qy.htm');\" \u003Etest\u003C\u002Fa\u003E \u003Cscript\u003E function Openersub(strUrl) { var vT","id":200224760,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"yuan74521940","userNickName":"yuan74521940","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":1033547318,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:29:05","updateTime":"2014-06-09 07:58:56","formatTime":"2008-01-10","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"window.dialogArguments可以获得 window.showModalDialog 方法的第二个参数,\u003Cbr \u002F\u003E\n可以把父窗体的引用传过去,这样 在子窗体中就可以 \u003Cbr \u002F\u003E\n\u003Cpre\u003E\u003Ccode class=\"language-JScript\"\u003Ewindow.dialogArguments.location.reload()\u003Cbr \u002F\u003E\n\u003C\u002Fcode\u003E\u003C\u002Fpre\u003E\u003Cbr \u002F\u003E\n来实现父窗体刷新了","topicTitle":null,"description":"window.dialogArguments可以获得 window.showModalDialog 方法的第二个参数, 可以把父窗体的引用传过去,这样 在子窗体中就可以 window.dialogArguments.location.reload() 来实现父窗体刷新了","id":200224674,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"Sandy945","userNickName":"阿非","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F7847d997516b4d8f94d4fbe9406a7f68_sandy945.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3683575741,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:25:49","updateTime":"2014-06-09 07:58:56","formatTime":"2008-01-10","userRoleHonorary":{"userName":"Sandy945","roleId":216,"roleType":0,"roleStatus":1,"honoraryId":0,"roleName":"","honoraryName":null,"communityNickname":"","communitySignature":""},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"模式窗体用 dialogArguments.location.reload();","topicTitle":null,"description":"模式窗体用 dialogArguments.location.reload();","id":200224288,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"Sandy945","userNickName":"阿非","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F7847d997516b4d8f94d4fbe9406a7f68_sandy945.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3683575741,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:11:02","updateTime":"2014-06-09 07:58:56","formatTime":"2008-01-10","userRoleHonorary":{"userName":"Sandy945","roleId":216,"roleType":0,"roleStatus":1,"honoraryId":0,"roleName":"","honoraryName":null,"communityNickname":"","communitySignature":""},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"好的 我试一下","topicTitle":null,"description":"好的 我试一下","id":200224214,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"java_mp5","userNickName":"java_mp5","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F002be6a682b34f29842f07e7ec6bb33f_java_mp5.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":1964395437,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:08:48","updateTime":"2008-01-10 03:08:49","formatTime":"2008-01-10","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"LZ 你试下打开非模式子窗体,有没有哪个问题","topicTitle":null,"description":"LZ 你试下打开非模式子窗体,有没有哪个问题","id":200223948,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"Sandy945","userNickName":"阿非","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F7847d997516b4d8f94d4fbe9406a7f68_sandy945.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":3683575741,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 03:01:05","updateTime":"2014-06-09 07:58:56","formatTime":"2008-01-10","userRoleHonorary":{"userName":"Sandy945","roleId":216,"roleType":0,"roleStatus":1,"honoraryId":0,"roleName":"","honoraryName":null,"communityNickname":"","communitySignature":""},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"ie6 就是 2003 带的那个版本\u003Cbr \u002F\u003E\n","topicTitle":null,"description":"ie6 就是 2003 带的那个版本 ","id":200223590,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"java_mp5","userNickName":"java_mp5","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F002be6a682b34f29842f07e7ec6bb33f_java_mp5.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":1964395437,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 02:49:14","updateTime":"2008-01-10 02:49:15","formatTime":"2008-01-10","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"IE几?!","topicTitle":null,"description":"IE几?!","id":200223307,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"LikeCode","userNickName":"LikeCode","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F76849e04aeca4e1087463a67525d8617_likecode.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":992195517,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 02:39:31","updateTime":"2014-06-09 07:58:55","formatTime":"2008-01-10","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null},{"hit":null,"hitMsg":null,"content":"有人用过吗,我找不到问题在那?帮帮忙.","topicTitle":null,"description":"有人用过吗,我找不到问题在那?帮帮忙.","id":200222975,"contentResourceId":200016363,"bindContentResourceId":0,"communityId":211,"username":"java_mp5","userNickName":"java_mp5","userAvatar":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002F002be6a682b34f29842f07e7ec6bb33f_java_mp5.jpg!1","mdContent":null,"parentId":0,"replyName":"","replyNickName":"","bizNo":"bbs","ip":1964395437,"status":10,"childCount":0,"topStatus":0,"recommendStatus":0,"userLike":false,"diggCount":0,"childIds":"","createTime":"2008-01-10 02:26:17","updateTime":"2008-01-10 02:26:17","formatTime":"2008-01-10","userRoleHonorary":{"userName":null,"roleId":null,"roleType":null,"roleStatus":null,"honoraryId":null,"roleName":null,"honoraryName":null,"communityNickname":null,"communitySignature":null},"child":null,"communityNickname":null,"communityReplyNickname":null,"rewardInfo":null,"checkRedPacketVO":null,"noDiggCount":null}],"maxPageSize":3000},"defaultActiveTab":20680,"recommends":[{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fweixin_38748263\u002F13989697","title":"C#最简单的\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E子\u003C\u002Fem\u003E\u003Cem\u003E窗体\u003C\u002Fem\u003E更新\u003Cem\u003E父\u003C\u002Fem\u003E\u003Cem\u003E窗体\u003C\u002Fem\u003E的实现方法","desc":"\u003Cem\u003E主\u003C\u002Fem\u003E\u003Cem\u003E窗体\u003C\u002Fem\u003EForm1关键代码: 将\u003Cem\u003E子\u003C\u002Fem\u003E\u003Cem\u003E窗体\u003C\u002Fem\u003E最为对话框\u003Cem\u003E模式\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E,当\u003Cem\u003E窗体\u003C\u002Fem\u003E\u003Cem\u003E关闭\u003C\u002Fem\u003E或取消时更新\u003Cem\u003E主\u003C\u002Fem\u003E\u003Cem\u003E窗体\u003C\u002Fem\u003E 代码如下: private void simpleButton1_Click(object sender, EventArgs e) { Form2 f2 = new Form2(); f2.Owner = this; DialogResult result=f2.ShowDialog(); if (result == DialogResult.Cancel) { this.gridControl1.DataSource = f2.CreateTable(); } } \u003Cem\u003E子\u003C\u002Fem\u003E\u003Cem\u003E窗体\u003C\u002Fem\u003E 代码如下: private","createTime":"2020-12-31 07:04:52","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-13989697-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-13989697-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fweixin_38748263\u002F13989697\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-13989697-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"1\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fweixin_38748263\u002F13989697\",\"strategy\":\"2~default~OPENSEARCH~Paid\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Paid-1-13989697-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fyanruichong\u002F2313613","title":"易语言 茶凉专用模块","desc":"模块名称:茶凉专用模块\n作者:茶凉\n版本:2.0\n\n本模块可以编程更简单,仅仅用核心支持库编写。\n@备注:\n官方论坛:http:\u002F\u002Fbbs.clrje.cn\u002F\n官方QQ群:92716369\n\n------------------------\n--------------------------\n\n------------------------------\n\n.版本 2\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 按键, , 公开, 执行模拟按键(无返回值)\n.参数 键代码, 整数型, , 键代码\n.参数 状态, 整数型, 可空, 可空:按键(按下+放开) 1 #按键_ 3 #按下_ 4 #放开_ 如果状态大于等于5则为按下与放开之间的延时,可解决某些屏蔽\n.参数 功能键方式, 逻辑型, 可空, 默认为普通键, 真:功能键方式模拟,如ctrl键win键home键光标键等\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 按键消息, , 公开, 向指定窗口句柄的窗口中发送按键消息(无返回值)\n.参数 窗口句柄, 整数型, , 接收消息的窗口句柄\n.参数 键代码, 整数型, , 按键的键代码\n.参数 状态, 整数型, 可空, 可空:按键(3+4) 1 #按键 2 功能键方式(按下+放开) 3 #按下 4 #放开\n.参数 继承, 逻辑型, 可空, 默认为假:不继到\u003Cem\u003E子\u003C\u002Fem\u003E窗口 真:继承到所有\u003Cem\u003E子\u003C\u002Fem\u003E级窗口\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 按键消息处理, 逻辑型, 公开\n.参数 hwnd, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 按下控件, , 公开, 向指定按钮(控件)发送按钮鼠标单击的消息(无返回值)\n.参数 临时按钮句柄, 整数型, , 按钮控件的句柄\n.参数 临时状态, 整数型, 可空, 可空:单击 3 #按下 4 #放开\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 按组合键, , 公开, 执行模拟组合按键(无返回值)\n.参数 键码, 整数型, , 键代码\n.参数 功能键码1, 整数型, , 功能键代码\n.参数 功能键码2, 整数型, 可空, 功能键代码(可选)\n.参数 功能键码3, 整数型, 可空, 功能键代码(可选)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 按组合键消息, , 公开, 向指定窗口句柄的窗口中发送组合按键的消息,游戏中有效!(无返回值)\n.参数 窗口句柄, 整数型, , 接收消息的窗口句柄\n.参数 键代码, 整数型, , 按键的键代码\n.参数 功能键码1, 整数型, , 功能键的键代码\n.参数 功能键码2, 整数型, 可空, 功能键的键代码(可选)\n.参数 功能键码3, 整数型, 可空, 功能键的键代码(可选)\n.参数 继承, 逻辑型, 可空, 默认为假:不继到\u003Cem\u003E子\u003C\u002Fem\u003E窗口 真:继承到所有\u003Cem\u003E子\u003C\u002Fem\u003E级窗口\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 八到十, 整数型, 公开, 将八进制转换成十进制(返回十进制整数)\n.参数 八进制文本, 文本型, , 欲转换的八进制文本\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 彩色字体, , 公开, 彩色动态字体 感谢[梦飞鸟]\n.参数 内容, 文本型\n.参数 窗口句柄, 整数型\n.参数 随机渐变, 逻辑型, 可空, 不选不随机颜色\n.参数 字体抖动, 逻辑型, 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 查看字节集1, 文本型, 公开, 以易语言文本方式查看字节集,返回文本内容 如:{ 102, 204, 14, 5 }\n.参数 字节集, 字节集, , 欲查看的字节集\n.参数 起始位置, 整数型, 可空, 查看字节集的起始查看位置\n.参数 查看长度, 整数型, 可空, 查看的长度,默认为查看全部\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 查看字节集2, 文本型, 公开, 以十六进制文本方式查看字节集,返回文本内容 如:45 3F 58 1D 0A\n.参数 字节集, 字节集, , 欲查看的字节集\n.参数 起始位置, 整数型, 可空, 查看字节集的起始查看位置\n.参数 查看长度, 整数型, 可空, 查看的长度,默认为查看全部\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 超级截图, 字节集, 公开, 截取窗口或屏幕中指定区域图片(返回图片字节集,失败返回空字节集)\n.参数 窗口句柄, 整数型, 可空, 默认为屏幕中.指定窗口句柄,则以窗口客户区内坐标点\n.参数 左上顶点_X, 整数型, 可空, 截取图片范围的左上角横坐标,留空为0\n.参数 左上顶点_Y, 整数型, 可空, 截取图片范围的左上角纵坐标,留空为0\n.参数 右下顶点_X, 整数型, 可空, 截取图片范围的右下角横坐标,小于左上顶点_X则为最大值-1 默认为最大值\n.参数 右下顶点_Y, 整数型, 可空, 截取图片范围的右下角纵坐标,小于左上顶点_Y则为最大值-1 默认为最大值\n.参数 是否后台, 逻辑型, 可空, 默认为假:可见到的颜色点 真:后台窗口内颜色点\n.参数 色深, 整数型, 可空, 所截取的图片位深度,默认为16位(8,16,24,32)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 超级延迟, , 公开, 无资源占用的延时(无返回值)\n.参数 等待时间, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 超级延时, , 公开, 高精度延时,cpu占用低,窗口不卡死,一次最大可延时几年 (无返回值)\n.参数 延时间隔, 整数型, , 1000微秒 = 1毫秒 ; 1000毫秒 = 1秒\n.参数 延时单位, 整数型, 可空, 可空:毫秒 0 毫秒 1 微秒 2 秒 3 分 4 小时 5 天\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口激活, 逻辑型, 公开, 激活指定窗口,将窗口设置到前台\n.参数 句柄, 整数型, , 欲带到前台的窗口\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口禁止, 逻辑型, 公开, 在窗口中允许或禁止所有鼠标及键盘输入(成功返回真,失败返回假)\n.参数 窗口句柄, 整数型, , 欲禁止鼠标键盘输入的窗口或控件的句柄\n.参数 是否禁止, 逻辑型, 可空, 默认为真:禁止 假:取消禁止\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口禁止\u003Cem\u003E关闭\u003C\u002Fem\u003E, 逻辑型, 公开, 控制窗口\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮,(允许\u002F禁止)\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口 (成功返回真,失败返回假)\n.参数 窗口句柄, 整数型, , 欲禁止或解除禁止的窗口句柄\n.参数 禁止\u003Cem\u003E关闭\u003C\u002Fem\u003E, 逻辑型, 可空, 可空为禁止\u003Cem\u003E关闭\u003C\u002Fem\u003E, 假:允许\u003Cem\u003E关闭\u003C\u002Fem\u003E, 真:禁止\u003Cem\u003E关闭\u003C\u002Fem\u003E\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口是否当前, 逻辑型, 公开, 判断指定窗口是否为当前窗口(为当前接收按键消息的窗口返回真,否则返回假)\n.参数 进程名, 文本型, 可空, 欲判断窗口的程序进程名(注意区分大小写)\n.参数 窗口类名, 文本型, 可空, 欲判断窗口的类名(注意区分大小写)\n.参数 窗口标题, 文本型, 可空, 欲判断窗口的标题关键字\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口透明化, 逻辑型, 公开, 设置窗口透明状态(成功返回真,失败返回假)\n.参数 临时句柄, 整数型, , 设置透明化窗口的句柄\n.参数 临时透明度, 字节型, 可空, 设置整个窗口的透明度 取值范围是[0,255] 可空为不设定此参数\n.参数 临时透明色, 整数型, 可空, (#颜色)指定某颜色为完全透明(完全透明处不属于该窗口) 可空为不指定\n.参数 鼠标穿透, 逻辑型, 可空, 可空为假 真:窗口被鼠标穿透\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口图标隐藏, , 公开, 将窗口的图标清除\n.参数 窗口句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口销毁, , 公开, 将指定窗口销毁(无返回值)\n.参数 临时句柄, 整数型, , 欲销毁窗口的句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口移动, , 公开, 移动指定窗口(无返回值)\n.参数 临时句柄, 整数型, , 欲移动窗口的句柄\n.参数 窗口新左边, 整数型, 可空, 可空:原左边不变\n.参数 窗口新顶边, 整数型, 可空, 可空:原顶边不变\n.参数 窗口新宽度, 整数型, 可空, 可空:原宽度不变\n.参数 窗口新高度, 整数型, 可空, 可空:原高度不变\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口隐藏显示, 逻辑型, 公开, 显示隐藏指定句柄的窗口(如果显示则隐藏:返回假,如果隐藏则显示:返回真)\n.参数 窗口句柄, 整数型, 可空, 要显示\u002F隐藏的窗口句柄(可空:则显示\u002F隐藏上次的窗口,如果为初次使用则为当前窗口)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口置\u003Cem\u003E父\u003C\u002Fem\u003E, 整数型, 公开, 指定一个窗口的新\u003Cem\u003E父\u003C\u002Fem\u003E(返回前一个\u003Cem\u003E父\u003C\u002Fem\u003E窗口的句柄)\n.参数 窗口句柄, 整数型, , \u003Cem\u003E子\u003C\u002Fem\u003E窗口句柄\n.参数 新\u003Cem\u003E父\u003C\u002Fem\u003E, 整数型, 可空, 新的\u003Cem\u003E父\u003C\u002Fem\u003E窗口句柄 默认为0:置顶级窗口 -1:嵌入桌面\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口置焦点, 逻辑型, 公开, 将输入焦点设到指定的窗口。如有必要,会激活窗口.不能对最小化窗口设置(成功返回真,失败返回假)\n.参数 句柄, 整数型, , 欲置焦点的窗口句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口状态控制, 逻辑型, 公开, 控制窗口状态(成功返回真,失败返回假)\n.参数 临时句柄, 整数型, , 窗口句柄\n.参数 状态, 整数型, , 0 隐藏取消激活 1 还原激活 2 最小化激活 3 最大化激活 4 还原 6 最小化取消激活 7 最小化 9 还原激活\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口最大化, , 公开, 将指定窗口最大化(无返回值)\n.参数 临时句柄, 整数型, , 欲最大化窗口的句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口最前, , 公开, 将指定窗口设为总在最前.(注意参数2,真:总在最前)\n.参数 句柄, 整数型, , 欲设置的窗口句柄\n.参数 是否总在最前, 逻辑型, 可空, 默认为假:取消总在最前 真:总在最前\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 窗口最小化, , 公开, 将指定窗口最小化(无返回值)\n.参数 临时句柄, 整数型, , 欲最小化窗口的句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 创建程序快捷方式, 逻辑型, 公开, 创建程序快捷方式 (成功返回真,失败返回假)\n.参数 lnk名称, 文本型, , 快捷方式保存全路径文件名\n.参数 目标, 文本型, , 指向的文件全路径文件名\n.参数 参数文本, 文本型, 可空, 执行文件的参数\n.参数 图标文件, 文本型, 可空, 图标文件的路径 可空:为空时用目标的第一个图标\n.参数 运行方式, 整数型, 可空, 1,常规方式,3,最大化,7,最小化\n.参数 备注, 文本型, 可空, 快方式的备注信息\n.参数 快捷键, 文本型, 可空, 启动快捷方式的快捷键 如“Ctrl+Alt+Y”\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 创建定时器, 整数型, 公开, 返回成功创建定时器的标志\n.参数 窗口句柄, 整数型, 可空, 为空则为系统级定时器(通常为空)\n.参数 时钟周期, 整数型, , 毫秒级单位 1秒=1000毫秒\n.参数 定时器事件处理, \u003Cem\u003E子\u003C\u002Fem\u003E程序指针, , 定时器触发事件\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 创建多级目录, 逻辑型, 公开, 成功返回真,失败返回假\n.参数 目录路径, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 创建进程, 整数型, 公开, 创建一个程序进程(成功返回进程ID,失败返回0)\n.参数 程序路径, 文本型, , 欲创建进程的执行路径\n.参数 命令行, 文本型, 可空, 附加上程序路径后的命令行参数\n.参数 运行目录, 文本型, 可空, 通常留空,特殊情况下使用\n.参数 进程结构, 进程结构, 参考 可空, 接收进程结构信息的变量\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 创建网页快捷方式, 逻辑型, 公开, 创建网页快捷方式 (成功返回真,失败返回假)\n.参数 保存路径, 文本型, , 全路径文件名\n.参数 网页地址, 文本型, , URL\n.参数 ico图标, 文本型, 可空, 图标路径 可空:默认为网页快捷方式图标\n.参数 快捷键, 整数型, 可空, CTRL+ALT+? (A=1601 B=1602 C=1603 ...)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 创建线程, 整数型, 公开, 创建一个线程来启动\u003Cem\u003E子\u003C\u002Fem\u003E程序(返回线程句柄)\n.参数 线程\u003Cem\u003E子\u003C\u002Fem\u003E程序, \u003Cem\u003E子\u003C\u002Fem\u003E程序指针, , 欲启动的线程\u003Cem\u003E子\u003C\u002Fem\u003E程序指针\n.参数 传递参数, 整数型, 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 打开网页, 逻辑型, 公开, 打开指定网址(成功返回真,失败返回假)\n.参数 网址, 文本型, , 欲打开的网页地址\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 \u003Cem\u003E弹出\u003C\u002Fem\u003E光驱, 逻辑型, 公开, \u003Cem\u003E弹出\u003C\u002Fem\u003E光驱门。 mciSendString\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 到短路径, 文本型, 公开, 取指定路径的短路径名(返回收缩后的路径,无效返回空文本)如: c:\\program files\\ 收缩后为:C:\\PROGRA~1\\\n.参数 文件名, 文本型, , 原路径\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 到任意进制, 文本型, 公开, 可以将从二进制到三十六进制的数值随意进行转换(返回转换后的文本)\n.参数 被转换文本, 文本型, , 欲被转换的文本(不可以转换负数以及小数)\n.参数 被转换进制, 整数型, , 被转换文本的进制(2-36之间)\n.参数 转换的进制, 整数型, , 要转换到的进制(2-36之间)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 到十进制, 整数型, 公开, 将2,8,16进制文件转换到10进制数值(返回十进制数)\n.参数 文本, 文本型, , 2,8,16进制文件\n.参数 进制, 整数型, 可空, 默认为十六进制 2为二进制,8为八进制,16为16进制\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读磁盘扇区, 逻辑型, 公开\n.参数 扇区号, 整数型\n.参数 扇区内容, 字节集\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存长整数型, 长整数型, 公开, 从内存中读取长整数型数据,失败返回失败内容\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 失败内容, 长整数型, 可空, 读内存失败后返回值的内容 默认为-1\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存短整数型, 短整数型, 公开, 从内存中读取短整数型数据,失败返回失败内容\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 失败内容, 短整数型, 可空, 读内存失败后返回值的内容 默认为-1\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存日期时间型, 日期时间型, 公开, 从内存中读取日期时间型数据,失败将返回100年1月1日\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存双精度小数型, 双精度小数型, 公开, 从内存中读取双精度小数型数据,失败返回失败内容\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 失败内容, 双精度小数型, 可空, 读内存失败后返回值的内容 默认为-1\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存文本型, 文本型, 公开, 从内存中读取文本型数据(返回文本,失败返回0字节长度空内容)\n.参数 进程ID, 整数型\n.参数 内存地址, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存小数型, 小数型, 公开, 从内存中读取小数型数据,失败返回失败内容\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 失败内容, 小数型, 可空, 读内存失败后返回值的内容 默认为-1\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存整数型, 整数型, 公开, 从内存中读取整数型数据,失败返回失败内容\n.参数 进程ID, 整数型\n.参数 内存地址, 整数型\n.参数 失败内容, 整数型, 可空, 读内存失败后返回值的内容 默认为-1\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存\u003Cem\u003E子\u003C\u002Fem\u003E程序指针, \u003Cem\u003E子\u003C\u002Fem\u003E程序指针, 公开, 从内存中读取\u003Cem\u003E子\u003C\u002Fem\u003E程序指针,失败返回空指针\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存字节集, 字节集, 公开, 从内存中读取字节集数据(返回字节集,失败返回0字节长度的空字节集)\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 长度, 整数型, 可空, 欲读取内存数据的长度 (留空则智能读取)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读内存字节型, 字节型, 公开, 从内存中读取一个字节,失败返回失败内容(0-255)\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 失败内容, 字节型, 可空, 读内存失败后返回的内容 默认为0\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读物理内存, 字节集, 公开, 失败返回{},成功返回相应数据 (进程隐藏)\n.参数 地址, 长整数型\n.参数 长度, 整数型, , \u003C=4096\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读游戏内存文本, 文本型, 公开, 读取内存地址数据\n.参数 进程ID, 整数型, , 游戏进程标识符\n.参数 基址, 文本型, , 欲读取的内存基址(十六进制)\n.参数 偏移1, 文本型, 可空, 没有请留空 (十六进制)\n.参数 偏移2, 文本型, 可空, 没有请留空 (十六进制)\n.参数 偏移3, 文本型, 可空, 没有请留空 (十六进制)\n.参数 偏移4, 文本型, 可空, 没有请留空 (十六进制)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 读游戏内存整数, 整数型, 公开, 读取内存地址数据\n.参数 进程ID, 整数型, , 游戏进程标识符\n.参数 基址, 文本型, , 欲读取的内存基址(十六进制)\n.参数 偏移1, 文本型, 可空, 没有请留空 (十六进制)\n.参数 偏移2, 文本型, 可空, 没有请留空 (十六进制)\n.参数 偏移3, 文本型, 可空, 没有请留空 (十六进制)\n.参数 偏移4, 文本型, 可空, 没有请留空 (十六进制)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 对话框_打开保存, 文本型, 公开, 返回打开文件名,取消则返回空文本。\n.参数 \u003Cem\u003E父\u003C\u002Fem\u003E窗口, 整数型\n.参数 过滤器, 文本型, , 例:\"文本文件(*.txt),*.txt|excel与word,*.xls;*.doc\"\n.参数 类型, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 对话框_颜色选择, 整数型, 公开\n.参数 \u003Cem\u003E父\u003C\u002Fem\u003E窗口, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 对话框_字体选择, 整数型, 公开\n.参数 \u003Cem\u003E父\u003C\u002Fem\u003E窗口, 整数型\n.参数 返回结果, 模块_字体信息, 参考\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 二到十, 整数型, 公开, 将二进制转换成十进制(返回十进制整数)\n.参数 二进制文本, 文本型, , 欲转换的二进制\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 发送字符串, , 公开, sendkeys 将一个或多个按键消息发送到指定窗口,就如同用键盘进行输入一样 (无返回值)\n.参数 窗口标题, 文本型, 可空, 向指定窗口发送.窗口标题关键字\n.参数 文本, 文本型, , 字符串表达式,指定要发送的按键消息(详情见百度sendkeys词条)\n.参数 等待, 逻辑型, 可空, 指定等待方式的值 默认为假:按键发送出去立刻返回 真:按键消息在返回到过程之前加以处理\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 发送字符串1, , 公开, sendkeys 将一个或多个按键消息发送到活动窗口,就如同用键盘进行输入一样 (无返回值)\n.参数 文本, 文本型, , 字符串表达式,指定要发送的按键消息(详情见百度sendkeys词条)\n.参数 等待, 逻辑型, 可空, 指定等待方式的值 默认为假:按键发送出去立刻返回 真:按键消息在返回到过程之前加以处理\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 复制文件夹, 逻辑型, 公开, 成功返回真,失败返回假\n.参数 被复制的文件夹, 文本型\n.参数 复制到的文件夹, 文本型\n.参数 是否处理事件, 逻辑型, 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 更改标题, 逻辑型, 公开, 更改指定窗口句柄的窗口标题(成功返回真,失败返回假)\n.参数 窗口句柄, 整数型, 可空, 可空:则更改当前窗口的标题\n.参数 新标题, 文本型, , 新的窗口标题\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 更改类名, 文本型, 公开, 更改一次指定类名(必须在欲更改的类名的程序运行前-执行)(如果成功则返回更改后的类名)\n.参数 新类名, 文本型, 可空, 更改后的新类名 可空为随机类名5-20位随机字母数字的组合\n.参数 旧类名, 文本型, 可空, 欲更改的类名 可空则默认为易语言程序窗口类名“Afx:10000000:b:10011:1900015:0”\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 \u003Cem\u003E关闭\u003C\u002Fem\u003E光驱, 逻辑型, 公开, \u003Cem\u003E关闭\u003C\u002Fem\u003E光驱门。 mciSendString\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 \u003Cem\u003E关闭\u003C\u002Fem\u003E系统, , 公开, 提供\u003Cem\u003E关闭\u003C\u002Fem\u003E或重新启动计算机\n.参数 \u003Cem\u003E关闭\u003C\u002Fem\u003E方式, 整数型, 可空, 默认为1 关机 2 重启 3 注销\n.参数 是否强制执行, 逻辑型, 可空, 是否不等待其它程序退出,直接执行,默认为假\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 还原字节集1, 字节集, 公开, 还原易语言形式字节集的文本到字节集\n.参数 文本, 文本型, , 如: { 102, 204, 14, 5 }\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 还原字节集2, 字节集, 公开, 还原十六进制字符串形式字节集的文本到字节集\n.参数 文本, 文本型, , 如: 45 3F 58 1D 0A\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_枚举当前可用格式, 整数型, 公开, 返回可用格式数量和可用格式类型(相当于CountClipboardFormats和EnumClipboardFormats),数值具体含义请上网搜索。\n.参数 结果数组, 整数型, 参考 可空 数组, 留空则只返回可用格式数量。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_清空, 逻辑型, 公开, 清空剪贴板内所有数据。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_取HTML, 文本型, 公开, 取剪贴板中的HTML数据。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_取图片, 字节集, 公开, 取已复制到剪贴板的图片数据(包括从网页上复制下来的图片),返回的图片格式为位图。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_取文本, 文本型, 公开, 取已复制到剪贴板中的文本。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_取文件, 整数型, 公开, 取已经复制到剪贴板的文件名,返回文件个数。\n.参数 文件列表, 文本型, 参考 可空 数组, 留空则只返回文件数量。\n.参数 状态, 逻辑型, 参考 可空, 用来接收文件列表中这些文件的状态:返回真代表这些文件待移动(即用户对文件执行了剪切操作);返回假代表这些文件待粘贴(即用户对文件执行了复制操作)。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_置图片, 逻辑型, 公开, 将指定图片复制到剪贴板。\n.参数 图片, 字节集\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_置文本, 逻辑型, 公开, 将指定文本复制到剪贴板。\n.参数 文本, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 剪贴板_置文件, 逻辑型, 公开, 将指定文件复制到剪贴板,成功返回真,失败返回假。\n.参数 文件列表, 文本型, 数组, 欲复制到剪贴板的文件列表\n.参数 状态, 逻辑型, 可空, 设置当前的文件状态,默认为假。真表示文件待移动(相当于对文件列表里的文件执行剪切操作);假表示文件待粘贴(相当于对文件列表里的文件执行复制操作))\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程结束, 逻辑型, 公开, 终止一个进程(成功返回真,失败返回假)\n.参数 进程ID, 整数型, , 欲结束的进程ID\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程枚举, 整数型, 公开, 失败返回0,成功返回进程数量(该命令为高级成员命令)\n.参数 进程信息, 进程信息型, 可空 数组, 返回的进程信息 数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程取ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回-1)\n.参数 进程名, 文本型, , 程序进程名\n.参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程取ID数组, 整数型, 公开, 取指定进程名称的所有进程的进程ID(返回进程ID数目,没有返回0)\n.参数 进程ID数组, 整数型, 可空 数组, 存放进程ID数组变量\n.参数 进程名, 文本型, , 程序进程名\n.参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程是否存在, 逻辑型, 公开, 判断指定进程是否存在(此判断与进程其它信息无关联)(存在返回真,不存在或失败返回假)\n.参数 进程名, 文本型, , 欲检测的进程名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程是否有效, 逻辑型, 公开, 判断进程ID是否有效(有效返回真,无效或失败返回假)\n.参数 进程ID, 整数型, , 欲检测的进程标识\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程隐藏, 整数型, 公开, 通过断链方式隐藏进程(返回链表值,用于恢复该进程,失败返回-1)\n.参数 进程ID, 整数型, 可空, 目的进程ID (默认自进程ID)\n.参数 链表值, 整数型, 可空, 欲还原的进程链表地址值 如果隐藏进程请留空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 进程暂停, 逻辑型, 公开, 将指定进程暂停(成功返回真,失败返回假)\n.参数 进程ID, 整数型, , 欲被暂停进程的进程ID\n.参数 状态, 逻辑型, 可空, 可空为真:暂停进程 假:恢复进程\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 禁止\u003Cem\u003E关闭\u003C\u002Fem\u003E系统, , 公开, 可以禁止计算机关机、重启、注销 ;注意在调试状态无效\n.参数 窗口句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 句柄是否有效, 逻辑型, 公开, 判断窗口句柄是否有效(返回真,无效返回假)\n.参数 窗口句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 控件消息, , 公开, 向指定控件中投递消息,更多常量可参考windows消息大全\n.参数 窗口句柄, 整数型\n.参数 消息类型, 整数型, , #消息_复制 #消息_粘贴 #消息_全选 #消息_清空 #消息_删除 #消息_剪切 #消息_撤销 #消息_获得焦点 #消息_失去焦点 #消息_单击 #消息_右击 #消息_销毁 #消息_退出 #消息_结束\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 路径收缩, 文本型, 公开, 将指定路径收缩(返回收缩后的路径,无效返回空文本)如: c:\\program files\\ 收缩后为:c:\\progra~1\\ \n.参数 路径, 文本型, , 欲收缩的路径\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 枚举窗口, 整数型, 公开, 枚举所有窗口,返回窗口句柄数目,失败返回0\n.参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 枚举窗口线程, 整数型, 公开, 枚举所有窗口线程标识符,返回窗口线程标识符数目,失败返回0\n.参数 线程数组, 整数型, 可空 数组, 返回的所有窗口线程ID数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 枚举窗口信息, 整数型, 公开, 枚举所有可见窗口的句柄的窗口信息(返回数组数目,失败返回0)\n.参数 临时窗口信息, 窗口信息型, 数组, 枚举出来的窗口信息数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 枚举任务窗口, 整数型, 公开, 枚举指定窗口线程相关联的\u003Cem\u003E窗体\u003C\u002Fem\u003E句柄,返回窗口句柄数目,失败返回0\n.参数 窗口句柄, 整数型\n.参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 枚举\u003Cem\u003E子\u003C\u002Fem\u003E窗口, 整数型, 公开, 枚举指定窗口的所有\u003Cem\u003E子\u003C\u002Fem\u003E级窗口或控件句柄,支持不可见\u003Cem\u003E子\u003C\u002Fem\u003E窗口或\u003Cem\u003E子\u003C\u002Fem\u003E控件,返回句柄数目,失败返回0\n.参数 \u003Cem\u003E父\u003C\u002Fem\u003E窗口句柄, 整数型, 可空, 指定\u003Cem\u003E父\u003C\u002Fem\u003E窗口句柄.如果\u003Cem\u003E父\u003C\u002Fem\u003E窗口为0,则取出所有顶级窗口(含不可见窗口)\n.参数 句柄数组, 整数型, 可空 数组, 返回的所有窗口句柄数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 模块_\u003Cem\u003E关闭\u003C\u002Fem\u003E所有媒体, 整数型, 公开, \u003Cem\u003E关闭\u003C\u002Fem\u003E所有已经打开的媒体。注意:该操作对所有使用MCI进行播放的媒体都有效!返回0表示命令成功完成,返回非零表示命令失败。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 模块_毫秒到时间, 文本型, 公开, 将毫秒值转换为诸如:\"3:03:12\"之类的文本格式\n.参数 参_毫秒值, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 模块_取错误信息文本, 文本型, 公开, 根据各种命令执行后返回的数值查询相应的文本说明。\n.参数 参_错误代码, 整数型, , 支持类中对多媒体操作的各种方法的整型返回值\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 模块_取字节集位图句柄, 整数型, 公开, 仅支持24位色位图\n.参数 参数_字节集位图, 字节集\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 模块_设置\u003Cem\u003E父\u003C\u002Fem\u003E窗口, , 公开, 把易控件放入到自建控件内。注意:易中的标准控件可能变得不响应事件:如按扭、列表框、树形框\n.参数 参数_易控件句柄, 整数型\n.参数 参数_\u003Cem\u003E父\u003C\u002Fem\u003E窗口, 整数型, , 自建控件句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 模块_设置字体, , 公开, 给指定的窗口设置字体\n.参数 参窗口句柄, 整数型\n.参数 参字体名, 文本型\n.参数 参字号大小, 整数型, 可空\n.参数 加粗, 逻辑型, 可空\n.参数 斜体, 逻辑型, 可空\n.参数 下划线, 逻辑型, 可空\n.参数 删除线, 逻辑型, 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 魔法字体, , 公开, 彩色动态字体[我自己的]\n.参数 内容, 文本型, , 欲加入的内容\n.参数 对象句柄, 整数型, , 要加入控件句柄\n.参数 随机渐变, 逻辑型, 可空, 真为随机渐变 ,假 不进行随机渐变\n.参数 字体抖动, 逻辑型, 可空, 真为字体抖动 ,假 不进行字体抖动\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 目录是否存在, 逻辑型, 公开, 判断指定目录是否存在(存在返回真,不存在返回假)\n.参数 目录名, 文本型, , 欲判断的目录\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 内存搜索, 整数型, 公开, 进行首次内存搜索(返回结果数目,失败或没有返回0)\n.参数 进程ID, 整数型, , 进程ID\n.参数 搜索内容, 字节集, , 欲搜索的内容 其他类型-需自行转换为字节集类型\n.参数 结果地址, 整数型, 数组, 用来保存搜索的结果\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 内存搜索整数, 整数型, 公开, 针对上次的搜索进行对内存数值的变化进行再一次搜索(返回结果数目,失败或没有返回0)\n.参数 结果地址, 整数型, 数组, 用来保存搜索的结果\n.参数 搜索的整数, 整数型, , 从上一次搜索结果地址中再次搜索的整数,也可以是模糊搜索 #内存_不变的数值 #内存_变大的数值 #内存_变小的数值 #内存_改变的数值\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 内存优化, , 公开, 内存优化,其实就是将实际内存转移至虚拟内存,以减少内存占用,周期中使用\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 内存再次搜索, 整数型, 公开, 针对上次的搜索进行再一次搜索(返回结果数目,失败或没有返回0)\n.参数 结果地址, 整数型, 数组, 用来保存搜索的结果\n.参数 搜索的数据, 字节集, , 从上一次搜索结果地址中再次搜索的数据内容\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 内存中运行EXE, 逻辑型, 公开, 可以直接运行资源中的程序,不必释放。成功返回真,失败返回假。\n.参数 欲执行的程序, 字节集, , 欲执行的程序,不支持某些加了壳的程序,请自行测试。\n.参数 命令行, 文本型, 可空, 为程序提供的命令行参数,不需要请留空。\n.参数 外壳程序路径, 文本型, 可空, 外壳程序的路径(如果用系统程序做外壳,如cmd.exe、svchost.exe,可以实现穿防火墙,呵呵),不支持某些程序,请自行测试;不在当前目录下要提供绝对路径;留空默认为cmd.exe,如果无法运行,请换用不同的程序尝试。\n.参数 等待程序运行完毕, 逻辑型, 可空, 默认为假,即不等待。\n.参数 窗口显示方式, 整数型, 可空, 1#隐藏窗口; 2#普通激活; 3#最小化激活; 4#最大化激活; 5#普通不激活; 6#最小化不激活。如果省略本参数,默认为“普通激活”方式。\n.参数 运行信息, 运行信息, 参考 可空, 用来接收在内存中执行的exe的运行信息(进程、\u003Cem\u003E主\u003C\u002Fem\u003E线程的句柄和ID)。不需要可留空。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 强力打开进程, 整数型, 公开\n.参数 读取方式, 整数型\n.参数 继承, 逻辑型\n.参数 PID, 整数型, , 进程的进程标识符\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 强力结束进程, 逻辑型, 公开\n.参数 进程句柄, 整数型\n.参数 退出状态, 整数型, , 退出0\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 强力枚举窗口, 整数型, 公开, 强力穷举窗口句柄,不得以而为之.(成功返回有效窗口句柄的数目,失败返回0)\n.参数 窗口句柄, 整数型, 可空 数组, 用于存放窗口句柄的数组变量\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 强力取句柄, 整数型, 公开, 强力穷举窗口句柄,不得以而为之.(成功返回窗口句柄,失败返回-1)\n.参数 窗口标题, 文本型, 可空, 可以是窗口标题的关键字.如果重复上次获取下一个窗口请留空.\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取API错误信息, 文本型, 公开, 针对之前调用的api函数,用这个函数取得扩展错误信息\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取CPU序列号, 文本型, 公开, 获取CPU序列号\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取DOS返回, 文本型, 公开, 取出一个dos命令的返回信息\n.参数 dos命令, 文本型, , 欲执行的dos命令\n.参数 即时回显, \u003Cem\u003E子\u003C\u002Fem\u003E程序指针, 可空, DOS即时回显信息回调函数 回调DOS函数(回显信息) 返回逻辑值,真:停止,假:继续\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取MAC地址, 文本型, 公开, 获取网卡MAC地址(如:00:53:45:00:00:00)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取System32目录, 文本型, 公开\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取本机IP, 整数型, 公开, 返回IP数\n.参数 欲装载的数组, 文本型, 可空 数组, 取出来的IP\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取标题, 文本型, 公开, 取指定窗口句柄的窗口标题(返回窗口标题,失败返回空文本)\n.参数 窗口句柄, 整数型, , 指定的窗口句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取操作系统, 文本型, 公开, 获取操作系统信息\n.参数 版本号, 文本型, 可空, 获取的操作系统的版本号\n.参数 内部版本号, 文本型, 可空, 获取的操作系统的内部版本号\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取程序路径, 文本型, 公开, 取指定进程名的程序启动路径(成功返回路径,失败或进程不存在返回空)\n.参数 进程名, 文本型, , 程序进程名\n.参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取程序命令行, 文本型, 公开, 取指定程序的命令行参数,要求取命令行程序权限不低于被取程序的权限(返回命令行参数,无命令行或失败返回空文本)\n.参数 进程名, 文本型, , 欲取命令行参数的进程名\n.参数 区分大小写, 逻辑型, 可空, 默认不区分进程名大小写\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取窗口进程, 文本型, 公开, 取指定窗口句柄的窗口程序进程名(返回进程名,失败返回空文本)\n.参数 窗口句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取窗口进程ID, 整数型, 公开, 取指定窗口句柄的窗口进程ID(返回进程ID,失败返回-1)\n.参数 窗口句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取窗口内大小, , 公开, 取指定窗口句柄的窗口客户区的大小\n.参数 窗口句柄, 整数型, 可空, 可空:则取当前窗口大小\n.参数 临时宽度, 整数型, 参考, 返回的窗口宽度\n.参数 临时高度, 整数型, 参考, 指定的窗口高度\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取窗口内顶点, 坐标型, 公开, 取指定窗口句柄的窗口客户区(左上角)顶点位置\n.参数 窗口句柄, 整数型, 可空, 可空:则取当前窗口句柄的位置\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取窗口线程ID, 整数型, 公开, 取指定窗口句柄的窗口线程ID(返回进程ID,失败返回0)\n.参数 窗口句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取磁盘序列号, 整数型, 公开, 取得指定磁盘的序列号(成功返回磁盘的序列号,失败返回0,如果是读卡器或光驱或软驱等没有插入卡或光盘或软盘将会失败)\n.参数 盘符, 文本型, , 欲取序列号的磁盘盘符 (如: F:)\n.参数 卷标, 文本型, 参考 可空, 用于存放卷名(卷标)的变量\n.参数 系统名称, 文本型, 参考 可空, 用于存放文件系统名称的变量 (如FAT,NTFS以及其他)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取当前窗口, 整数型, 公开, 取得当前位于前台窗口句柄(返回句柄,失败返回0)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取当前\u003Cem\u003E父\u003C\u002Fem\u003E窗口, 整数型, 公开, 取得当前位于前台的\u003Cem\u003E父\u003C\u002Fem\u003E级窗口句柄(返回句柄,失败返回0)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取点标题, 文本型, 公开, 取出指定点的组件上的文字内容或标题(返回文字内容)\n.参数 水平位置, 整数型, 可空, (可空为鼠标当前坐标x) 文字所在的x坐标“X轴光标”\n.参数 垂直位置, 整数型, 可空, (可空为鼠标当前坐标y) 文字所以的y坐标“Y轴光标”\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取点颜色, 整数型, 公开, 取屏幕中或窗口区域某点颜色值或颜色属性\n.参数 窗口句柄, 整数型, 可空, 默认为屏幕\n.参数 X, 整数型\n.参数 Y, 整数型\n.参数 类型, 整数型, 可空, 默认为0颜色值 1 #R色 2 #G色 3 #B色 6 #色彩度\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取分辨率, , 公开, 获取屏幕分辨率(无返回值)\n.参数 色深, 短整数型, 参考 可空\n.参数 屏幕宽度, 短整数型, 参考 可空\n.参数 屏幕高度, 短整数型, 参考 可空\n.参数 屏幕\u003Cem\u003E刷新\u003C\u002Fem\u003E率, 短整数型, 参考 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取\u003Cem\u003E父\u003C\u002Fem\u003E进程ID, 整数型, 公开, 取得\u003Cem\u003E父\u003C\u002Fem\u003E级进程ID,失败返回-1\n.参数 进程ID, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取汉字笔画, 整数型, 公开, 返回指定单个汉字的笔画数,支持6725个常用汉字。\n.参数 汉字, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取计算机名, 文本型, 公开, 获取计算机名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取焦点句柄, 整数型, 公开, 取光标焦点处窗口句柄(返回句柄,失败返回0)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程ID, 整数型, 公开, 取指定进程的进程ID(返回第一个进程ID,失败返回0)\n.参数 进程名, 文本型, , 区分大小写\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程窗口, 整数型, 公开, 通过进程ID取出指定进程的所有顶级窗口句柄(返回该进程中所有顶级窗口句柄的数目,失败返回0)\n.参数 进程ID, 整数型, , 窗口所在进程ID\n.参数 所有窗口, 整数型, 可空 数组, 返回该进程中所有顶级窗口句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程窗口信息, 整数型, 公开, 获取指定进程的窗口信息(返回进程的\u003Cem\u003E主\u003C\u002Fem\u003E窗口句柄,失败返回0)\n.参数 进程ID, 整数型\n.参数 焦点窗口, 整数型, 参考 可空, 在窗口非激活状态没有获得焦点,将得到0值\n.参数 焦点横坐标, 整数型, 参考 可空, 在窗口非激活状态没有获得焦点,将得到0值\n.参数 焦点纵坐标, 整数型, 参考 可空, 在窗口非激活状态没有获得焦点,将得到0值\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程路径, 文本型, 公开, 取指定进程的程序启动路径(成功返回路径,失败或进程不存在返回空)\n.参数 进程ID, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程路径及命令行1, 文本型, 公开, 获取目标进程的映像路径及命令行参数。(失败返回空文本)\n.参数 进程ID, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程路径及命令行2, 逻辑型, 公开, 获取目标进程的映像路径及命令行参数。成功返回真,失败返回假。 [斩月]\n.参数 lpstrImagePathAndCommandLine, 文本型, 参考, 用于保存目标进程的映像路径及命令行参数的文本型变量\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程名, 文本型, 公开, 通进进程ID取得该进程文件名\n.参数 进程ID, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程命令行, 文本型, 公开, 取指定进程的命令行参数,要求取命令行程序权限不低于被取程序的权限(返回命令行参数,无命令行或失败返回空文本)\n.参数 进程ID, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程模块, 整数型, 公开, 失败为0,成功返回模块数量(该命令为高级成员命令)\n.参数 进程ID, 整数型, 可空, 为空 则取当前进程模块\n.参数 模块信息数组, 模块信息型, 可空 数组, 返回的模块信息 数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取进程用户名, 文本型, 公开, 通进进程ID取得该进程权限的用户名\n.参数 进程ID, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取句柄1, 整数型, 公开, 通过进程,类名或标题关键字来取窗口句柄(返回第一个符合条件的句柄,失败返回-1)\n.参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写)\n.参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名\n.参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字,模糊匹配\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取句柄2, 整数型, 公开, 通过任务关系的所有窗口与类名标题关键字来判断获取句柄(返回第一个符合条件的句柄,失败返回-1)(至少指定两个条件,以确保准确性)\n.参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写)\n.参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名\n.参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字,模糊匹配\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取句柄数组1, 整数型, 公开, 通过进程,类名或标题关键字来取窗口句柄(返回符合条件的句柄数目,失败返回0)\n.参数 句柄数组, 整数型, 数组, 返回的窗口句柄数组\n.参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写)\n.参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名\n.参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取句柄数组2, 整数型, 公开, 通过任务关系的所有窗口与类名标题关键字来判断获取句柄(返回符合条件的句柄数目,失败返回0)(勿必指定多个条件,以确保准确性)\n.参数 句柄数组, 整数型, 数组, 返回的窗口句柄数组\n.参数 进程名, 文本型, 可空, 欲取窗口句柄的窗口程序进程名(注意大小写)\n.参数 类名, 文本型, 可空, 欲取窗口句柄的窗口类名\n.参数 标题, 文本型, 可空, 欲取窗口句柄的窗口标题关键字\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取快捷方式指向, 文本型, 公开, 获取指定快捷方式指向的文件路径\n.参数 lnk名称, 文本型, , 快捷方式文件名全路径文件名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取类名, 文本型, 公开, 取指定窗口句柄的窗口类名(返回窗口类名,失败返回空)\n.参数 窗口句柄, 整数型, , 指定的窗口句柄\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取浏览器版本, 文本型, 公开, 获得IE的版本(返回IE版本)\n.参数 内部版本号, 文本型, 可空, 获以的内部版本号\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取路径文件名, 文本型, 公开, 取指定路径中的文件名(返回文件名)\n.参数 路径, 文本型, , 完整路径\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取模块路径, 文本型, 公开, 取出当前进程模块所在目录路径,失败返回空\n.参数 模块名, 文本型, 可空, 默认为执行文件名 模块名如:krnln.fne,kernel32.dll,User32.dll\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取配置项名称, 整数型, 公开, 取配置文件指定节名中所有配置项名称(成功返回配置项名称数目,失败返回-1)\n.参数 配置文件名, 文本型, , 指定配置文件的名称,通常以.ini作为文件名后缀(可为任意后缀)\n.参数 节名称, 文本型, , 包含欲读入配置项所处节的名称。\n.参数 配置项名称, 文本型, 参考 数组, 返回节名中所有配置项名称的文本数组\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取驱动器列表, 整数型, 公开, 返回驱动器数量\n.参数 保存驱动器列表, 文本型, 可空 数组\n.参数 类型, 整数型, 可空, 默认为0所有驱动器 1 硬盘驱动器 2 光盘驱动器 3 可移动驱动器 4 网络驱动器。\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取鼠标坐标, 坐标型, 公开, 取当前鼠标所在坐标(返回坐标)\n.参数 句柄, 整数型, 可空, 鼠标坐标所在的窗口句柄,取出鼠标所在窗口中的坐标 可空为:在屏幕中的坐标\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取特殊目录, 文本型, 公开, 取特定的目录(返回所要取的指定目录名 无效返回空)\n.参数 欲获取目录类型, 整数型, 可空, 0我的桌面 1临时目录 5我的文档 6我的收藏夹 7我的启动 11我的开始菜单 20系统字体 36Windows安装目录 37系统目录 [99更多]\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取文件创建时间, 日期时间型, 公开\n.参数 文件名, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取文件访问时间, 日期时间型, 公开\n.参数 文件名, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取文件夹尺寸, 双精度小数型, 公开, (成功返回文件夹尺寸,失败返回-1)\n.参数 文件夹路径, 文本型\n.参数 \u003Cem\u003E子\u003C\u002Fem\u003E文件夹数量, 整数型, 参考 可空, 保存\u003Cem\u003E子\u003C\u002Fem\u003E文件夹数量\n.参数 \u003Cem\u003E子\u003C\u002Fem\u003E文件数量, 整数型, 参考 可空, 保存\u003Cem\u003E子\u003C\u002Fem\u003E文件数量\n.参数 是否处理事件, 逻辑型, 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取文件修改时间, 日期时间型, 公开\n.参数 文件名, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取系统进程, 整数型, 公开, NT方式取得系统中所有进程,返回进程数\n.参数 进程名数组, 文本型, 参考 数组, 存放进程名的数组变量\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取系统目录, 文本型, 公开\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取系统用户名, 文本型, 公开, 获取当前系统的用户名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取线程窗口, 整数型, 公开, 通过窗口的线程标识符获取窗口句柄(成功返回窗口句柄,失败返回0)\n.参数 线程ID, 整数型, 可空, 如果线程ID为空,则取当前线程\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取硬件信息码, 文本型, 公开, 通过CPU硬盘等硬件综合信息,取得本机独特的硬件信息码(成功返回32位码,失败返回4位码)(内置多种复杂混合算法)\n.参数 密码, 文本型, , 输入相应的密码\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取运行目录_, 文本型, 公开, 取当前被执行的程序文件所处的目录,调试时为执行文件所释放到的目录而不是易语言源代码目录!\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取\u003Cem\u003E子\u003C\u002Fem\u003E窗口, 整数型, 公开, 查找指定窗口的\u003Cem\u003E子\u003C\u002Fem\u003E级窗口(返回\u003Cem\u003E子\u003C\u002Fem\u003E窗口句柄)\n.参数 \u003Cem\u003E父\u003C\u002Fem\u003E句柄, 整数型, 可空, 指定\u003Cem\u003E父\u003C\u002Fem\u003E窗口句柄 可空:为桌面.找顶级窗口\n.参数 \u003Cem\u003E子\u003C\u002Fem\u003E类名, 文本型, 可空, 欲查找的\u003Cem\u003E子\u003C\u002Fem\u003E窗口类名\n.参数 \u003Cem\u003E子\u003C\u002Fem\u003E标题, 文本型, 可空\n.参数 起始句柄, 整数型, 可空, 从该句柄后开始查找, 可空:找第一个符合条件的\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取坐标句柄, 整数型, 公开, 取指定坐标位置所在窗口组件的句柄(返回句柄)\n.参数 水平位置, 整数型, , 句柄组件的x坐标“X轴光标”\n.参数 垂直位置, 整数型, , 句柄组件的y坐标“Y轴光标”\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 取坐标距离, 整数型, 公开, 返回两坐标点之间的距离\n.参数 坐标1, 坐标型\n.参数 坐标2, 坐标型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 十到八, 文本型, 公开, 将十进制转换成八进制(返回八进制文本)\n.参数 十进制数, 长整数型, , 欲转换的十进制数\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 十到二, 文本型, 公开, 将十进制转换成二进制(返回二进制文本)\n.参数 十进制数, 整数型, , 欲转换的十进制\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 十到十六, 文本型, 公开, 将十进制转换成十六进制(返回十六进制文本)\n.参数 十进制数, 长整数型, , 待转换的十进制数\n.参数 是否不去零, 逻辑型, 可空, 默认为假:去0 真:不去0\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 十六到十1, 整数型, 公开, 将十六进制转换成十进制(返回十进制文本)\n.参数 十六进制文本, 文本型, , 待转换的十六进制文本\n.参数 返回结果, 文本型, 参考 可空, 返回文本结果(如十进制数超出整数范围,可通过返回结果获得十进制文本)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 十六到十2, 整数型, 公开, 将十六进制转换成十进制(返回十进制文本)\n.参数 十六进制转换数据, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 十六文本至长整数, 长整数型, 公开, (进程隐藏)\n.参数 x, 文本型, , 要转换的十六进制文本\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标捕获, 整数型, 公开, 将鼠标捕获设置到指定的窗口.在鼠标按钮按下的时候,这个窗口会为当前应用程序或整个系统接收所有鼠标输入(返回之前拥有鼠标捕获的窗口的句柄)\n.参数 窗口句柄, 整数型, 可空, 要接收所有鼠标输入的窗口的句柄,如果留空则释放鼠标捕获\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标归位, , 公开, 恢复当前鼠标坐标到\"鼠标记录\"的坐标点或移动鼠标到指定点\n.参数 坐标, 坐标型, 可空, 可空:恢复到上次记录的坐标点\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标记位, 坐标型, 公开, 记录当前鼠标坐标(返回所记录的当前鼠标 坐标_)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标键, , 公开, 模拟鼠标按键\n.参数 键, 整数型, 可空, 可空:为左键 1 #左键 2 #右键 3 #中键\n.参数 控制, 整数型, 可空, 可空:为单击 1 #单击 2 #双击 3 #按下 4 #放开\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标限制, , 公开, 限制鼠标的活动范围\n.参数 临时左边, 整数型, 可空, 可空为0\n.参数 临时顶边, 整数型, 可空, 可空为0\n.参数 临时右边, 整数型, 可空, 可空为屏幕宽度\n.参数 临时底边, 整数型, 可空, 可空为屏幕高度\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标消息, , 公开, 向指定窗口发送鼠标动作消息\n.参数 窗口句柄, 整数型, 可空, 可空:为桌面超级列表框句柄 接收鼠标消息窗口句柄\n.参数 水平坐标, 整数型, 可空, 可空:为原水平坐标不变 移动目标鼠标水平坐标 (注:坐标为参数一窗口句柄中的坐标)\n.参数 垂直坐标, 整数型, 可空, 可空:为原垂直坐标不变 移动目标鼠标垂直坐标\n.参数 键, 整数型, 可空, 可空:为左键_ 1 #左键_ 2 #右键_ 3 #中键_ 4 #中键上滚动_ 5 #中键下滚动_(滚动前后请按下放开中键)\n.参数 控制, 整数型, 可空, 可空:为单击_ 1 #单击_ 2 #双击_ 3 #按下_ 4 #放开_\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标移动1, , 公开, 模拟鼠标移动(无返回值)\n.参数 窗口句柄, 整数型, 可空, 可空:相对桌面移动鼠标 句柄有效则相对窗口中坐标移动\n.参数 水平坐标, 整数型, , 水平坐标\n.参数 垂直坐标, 整数型, , 垂直坐标\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 鼠标移动2, , 公开, SendInput模拟鼠标移动 目标坐标与实际坐标有一像素点误差属正常现象!\n.参数 窗口句柄, 整数型, 可空, 可空:相对桌面移动鼠标 句柄有效则相对窗口中坐标移动\n.参数 水平坐标, 整数型\n.参数 垂直坐标, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 提升进程权限, 逻辑型, 公开, 提升进程到指定权限( #备份 #启动 #关机 #调试)\n.参数 目标进程, 整数型, 可空, 为空表示当前线程\n.参数 权限类别, 文本型, 可空, 为空:#调试\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 提升进程权限D1, 逻辑型, 公开, 成功返回真,把一个进程的权限提升到调试级权限\n.参数 进程ID, 整数型, 可空, 可空为提升当前进程\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 提升进程权限D2, 逻辑型, 公开, 成功返回真,把一个进程的权限提升到调试级权限\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 网页_禁止右键, , 公开\n.参数 句柄, 整数型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文本发送, , 公开, 向指定编辑框后台发送文本内容(无返回值)\n.参数 临时句柄, 整数型, , 接收消息的编辑框的句柄\n.参数 临时内容, 文本型, , 发送的文本内容\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文本复制, 文本型, 公开, 复制指定文本 必要时会自动激活窗口\n.参数 句柄, 整数型, 可空, 文本所在处的窗口句柄 可空为当前窗口焦点处\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文本全选, , 公开, 选定指定文本 必要时会自动激活窗口(无返回值)\n.参数 句柄, 整数型, 可空, 文本所在处的窗口句柄 可空为当前窗口焦点处\n.参数 是否全选, 逻辑型, 可空, 可空为假:取消全选 真:全选\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文本输入, , 公开, 向指定窗口句柄中窗口中后台输入文本内容,并等待输入完毕后返回,对特殊屏蔽的游戏有效!(无返回值)\n.参数 句柄, 整数型, , 接收消息的窗口句柄\n.参数 文本, 文本型, , 发送的文本内容\n.参数 速, 字节型, 可空, 默认为3 如出现乱码现象,请将该值设大一点\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文本投递, , 公开, 向指定窗口句柄的窗口中后台发送文本内容,对游戏有效!(无返回值)\n.参数 窗口句柄, 整数型, , 接收消息的窗口句柄\n.参数 文本内容, 文本型, , 发送的文本内容\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文本粘贴, , 公开, 粘贴指定文本 必要时会自动激活窗口(无返回值)\n.参数 句柄, 整数型, 可空, 欲粘贴文本处的窗口句柄 可空为当前窗口焦点处\n.参数 文本内容, 文本型, 可空, 欲粘贴的文本内容 可空:清除内容\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件夹进度同步, , 公开, 将一个目录与另一个目录同步(自动复制本地缺少的文件,替换掉大小不同的文件)\n.参数 服务器目录, 文本型, , 参考目录\n.参数 本地目录, 文本型, , 欲被同步的目录\n.参数 显示标签, 标签, , 显示当前同步文件的标签\n.参数 进度条, 进度条, , 显示同步进度的进度条\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件夹浏览, 文本型, 公开, 浏览文件夹内支持创建文件夹 支持显示文件 编辑框 (返回被选择文件或文件夹路径)\n.参数 标题, 文本型, 可空, 设置标题\n.参数 显示文件, 逻辑型, 可空, 默认为假。\n.参数 初始目录, 文本型, 可空, 设置一个初始目录,默认为我的电脑\n.参数 地址栏, 逻辑型, 可空, 是否包含编辑框,可编辑,默认为假\n.参数 新样式, 逻辑型, 可空, 有新建按钮及右键菜单,默认为真\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件夹双进度同步, , 公开, 将一个目录与另一个目录同步(自动复制本地缺少的文件,替换掉大小不同的文件)\n.参数 服务器目录, 文本型, , 参考目录\n.参数 本地目录, 文本型, , 欲被同步的目录\n.参数 总进度, 进度条, , 显示同步进度的进度条\n.参数 单进度, 进度条\n.参数 显示总进度, 标签\n.参数 显示单进度, 标签\n.参数 显示当前目录, 标签\n.参数 显示当前文件, 标签\n.参数 更新数, 标签, 可空\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件夹停止同步, , 公开, 停止一些同步命令: \"文件搜索\",\"文件夹同步\",\"文件夹进度同步\",\"文件夹双进度同步\",\"文件夹同步清理\"\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件夹同步, , 公开, 将一个目录与另一个目录同步(自动将文件大小不同,多余的文件或目录删除,缺少的文件复制.)\n.参数 服务器目录, 文本型, , 参考目录\n.参数 本地目录, 文本型, , 欲被同步的目录\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件夹同步清理, , 公开, 将本地目录中多余的或不同的文件删除\n.参数 服务器目录, 文本型, , 参考目录\n.参数 本地目录, 文本型, , 欲清理的目录\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件进度复制, 逻辑型, 公开\n.参数 被复制的文件名, 文本型\n.参数 复制到的文件名, 文本型\n.参数 回调进度函数, \u003Cem\u003E子\u003C\u002Fem\u003E程序指针, 可空, 回调函数(总尺寸,已复制,进度%) 回调函数的返回值可以为空,如果回调函数的返回值为真或不等0则停止复制\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 文件搜索, 文本型, 公开, 在指定目录下搜索文件,返回第一个符合条件的文件路径\n.参数 临时目录, 文本型, , 欲寻找的目录\n.参数 文件名, 文本型, , 欲寻找文件名\n.参数 显示标签, 标签, , 用来显示搜索路径的标签\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 系统变速, , 公开, NT,2000,XP系统原速 =11941; ME,98系统原速=5954; XP.SP2=1200\n.参数 新速值, 整数型, , 值小加速,值大减速\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 下载, 字节集, 公开, 读网络文件,并下载文件到本地(成功返回网络文件字节集数据,失败返回空字节集)\n.参数 网址, 文本型, , 欲访问的网络地址\n.参数 保存路径, 文本型, 可空, 可空:仅返回字节集数据,将下载的内容保存到本地文件\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 销毁定时器, 整数型, 公开, 销毁已经创建的定时器(定时器不使用了一定要销毁!)\n.参数 窗口句柄, 整数型, 可空, 创建定时器时指定的句柄\n.参数 标志, 整数型, , 创建定时器时所返回的标志\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 销毁线程, 逻辑型, 公开, 强制结束指定线程,不推荐使用(无返回值)\n.参数 线程句柄, 整数型, , 欲结束的线程号\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 写磁盘扇区, 逻辑型, 公开\n.参数 扇区号, 整数型\n.参数 扇区内容, 字节集\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 写内存文本型, 逻辑型, 公开, 往内存中写入文本数据(成功返回真,失败返回假)\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 内容, 文本型, , 写入数据\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 写内存整数型, 逻辑型, 公开, 往内存中写入四字节数据(成功返回真,失败返回假)\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 变量, 整数型, , 写入数据\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 写内存字节集, 逻辑型, 公开, 往内存中写入字节集数据(成功返回真,失败返回假)\n.参数 进程ID, 整数型, , 进程ID\n.参数 地址, 整数型, , 内存地址\n.参数 数据, 字节集, , 写入数据 如果为其它数据类型,可以用 到字节集() 将数据转换为字节集\n.参数 写入长度, 整数型, 可空, 默认为全部数据,(参考: 1字节型 2短整数型 4长整数型,小数型,指针 8长整数型,双精度小数型,日期时间型)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 写启动项, 逻辑型, 公开, 写入系统启动项(成功返回真,失败返回假)\n.参数 启动文件, 文本型, 可空, 需要加入启动项的文件名 如果为空则删除启动项\n.参数 启动方式, 整数型, 可空, 0 Run项启动 1 Load项启动 2 Shell项启动\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 写物理内存, 整数型, 公开, 失败返回-1,成功返回0 (进程隐藏)\n.参数 地址, 长整数型\n.参数 数据, 字节集, , \u003C=4096\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 信息框_, 整数型, 公开, 同\"信息框\"用法相同\n.参数 提示信息, 文本型, 可空\n.参数 按钮值, 整数型, 可空\n.参数 窗口标题, 文本型, 可空\n.参数 窗口句柄, 整数型, 可空, 信息框\u003Cem\u003E父\u003C\u002Fem\u003E窗口,默认为系统级\n.参数 时长, 整数型, 可空, 默认为0 不\u003Cem\u003E关闭\u003C\u002Fem\u003E 指定信息框在毫秒级时间过后自动\u003Cem\u003E关闭\u003C\u002Fem\u003E\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 以SYSTEM权限运行, 逻辑型, 公开, 在Administrator系统权限下以SYSTEM权限运行指定程序(成功返回真,失败返回假)\n.参数 文件名, 文本型, , 欲创建进程全路径文件名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 运行程序, , 公开, 通过对象来运行一个指定的应用程序\n.参数 执行程序, 文本型, , 一个欲被执行的程序全路径名或执行程序名\n.参数 启动参数, 文本型, 可空, 可以传递程序的启动参数,但要注意参数间隔符不能少\n.参数 窗口显示, 整数型, 可空, 默认为激活窗口 0 隐藏窗口 1 激活窗口 7 最小化 3 最大化\n.参数 等待返回, 逻辑型, 可空, 是否需要等持被运行的程序运行结束后\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 执行文件, 逻辑型, 公开, 执行文件夹或文件或命令(成功返回真,失败返回假)\n.参数 欲操作文件名, 文本型, , 欲操作(文件)或(文件夹的名称)或(网址)\n.参数 命令行, 文本型, 可空, 执行文件的命令行,没有则设为空\n.参数 窗口方式, 整数型, 可空, 可空为0:普通激活方式 1 隐藏窗口 2 最小化窗口\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 置分辨率, , 公开, 设置屏幕分辨率(无返回值)\n.参数 色深, 短整数型, 可空, 新的色深 可空:不改变原先设定\n.参数 屏幕宽度, 短整数型, 可空, 新的屏幕宽度 可空:不改变原先设定\n.参数 屏幕高度, 短整数型, 可空, 新的屏幕高度 可空:不改变原先设定\n.参数 屏幕\u003Cem\u003E刷新\u003C\u002Fem\u003E率, 短整数型, 可空, 新的屏幕\u003Cem\u003E刷新\u003C\u002Fem\u003E率 可空:不改变原先设定\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 置计算机名, 逻辑型, 公开, 设置计算机名,一般要重新启动才生效(成功返回真,失败返回假)\n.参数 计算机名, 文本型, 参考, 新的计算机名称 \n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 重启后删除文件, , 公开\n.参数 文件名, 文本型, , 欲删除的文件名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换Ansi转Unicode1, 字节集, 公开, 将Ansi码转换为Unicode码 (返回转换后的字节集)\n.参数 Ansi, 文本型, , 欲转换的Ansi文本\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换Ansi转Unicode2, 字节集, 公开, 将Ansi码转换为Unicode码 (返回转换后的字节集)\n.参数 欲转换的文本, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换ASCII转Unicode, 字节集, 公开, 将ASCII码转换为Unicode码 (返回转换后的字节集) [斩月]\n.参数 ASCII文本, 文本型, , 欲转换的ASCII文本\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换Unicode转Ansi, 文本型, 公开, 将Unicode码转换为Ansi码 (返回转换后的文本)\n.参数 Unicode, 字节集, , 欲转换的Unicode字节集\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换URL编码, 文本型, 公开, 将URL文本进行编码(返回编码后的文本)\n.参数 URL, 文本型, , 欲编码的文本\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换URL解码, 文本型, 公开, 将URL文本进行解码(返回解码后的文本)\n.参数 URL, 文本型, , 欲解码的文本\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换繁体到简体, 文本型, 公开, 将繁体中文转换成简体中文(返回转换后的简体内容) [斩月]\n.参数 繁体文本, 文本型, , 欲转换的文本内容\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换简体到繁体, 文本型, 公开, 将简体中文转换成繁体中文(返回转换后的繁体内容) [斩月]\n.参数 简体文本, 文本型, , 欲转换的文本内容\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换取按键码, 整数型, 公开, 取按键名的按键码(返回按键码)\n.参数 按键名, 文本型, , 按键名\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换取按键名, 文本型, 公开, 取按键码的按键名(返回按键名)\n.参数 键代码, 整数型, , 按键码\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换取机内码, 文本型, 公开, 例:取机内码 (“吕”)\n.参数 汉字, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换取键码, 整数型, 公开, 取指定键码的按键名(返回键名,无效返回空文本)\n.参数 键名, 文本型, , 欲取键码的键名(键名为按键后显示的内容 比如:A=65,a=97,$=36)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换取键名, 文本型, 公开, 取指定按键名的键码(返回键码,无效返回零)\n.参数 键码, 整数型, , 欲取键名的键码(键名为按键后显示的内容 比如:A=65,a=97,$=36)\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换取区位码, 文本型, 公开, 例:取区位码 (“吕”)\n.参数 汉字, 文本型\n\n.\u003Cem\u003E子\u003C\u002Fem\u003E程序 转换图像格式, 字节集, 公开, (返回转换后图像数据,失败返回空字节集)\n.参数 图像数据, 字节集, , 支持bmp、jpg、gif、tiff\n.参数 转换格式, 整数型, 可空, 转换后的图片格式。0、bmp;1、jpg;2、gif;3、tiff;4、png\n\n.全局变量 扩展菜单_\u003Cem\u003E主\u003C\u002Fem\u003E菜单, 菜单_\u003Cem\u003E主\u003C\u002Fem\u003E菜单, 公开\n.全局变量 扩展菜单_\u003Cem\u003E子\u003C\u002Fem\u003E菜单, 菜单_\u003Cem\u003E子\u003C\u002Fem\u003E菜单, 公开\n.全局变量 扩展操作_DLL, 操作_DLL, 公开\n.全局变量 扩展操作_FTP, 操作_FTP, 公开\n.全局变量 扩展操作_MIDI演奏, 操作_MIDI演奏, 公开\n.全局变量 扩展操作_多媒体播放, 操作_多媒体播放, 公开\n.全局变量 扩展操作_脚本控制, 操作_脚本控制, 公开\n.全局变量 扩展操作_进程通信, 操作_进程通信, 公开\n.全局变量 扩展操作_内存_驱动读写, 操作_内存_驱动读写, 公开\n.全局变量 扩展操作_内存操作, 操作_内存操作, 公开\n.全局变量 扩展操作_驱动操作, 操作_驱动操作, 公开\n.全局变量 扩展操作_驱动模拟, 操作_驱动模拟, 公开\n.全局变量 扩展操作_热键, 操作_热键, 公开\n.全局变量 扩展操作_数据库, 操作_数据库, 公开\n.全局变量 扩展操作_数据库记录集, 操作_数据库记录集, 公开\n.全局变量 扩展操作_数据库连接, 操作_数据库连接, 公开\n.全局变量 扩展操作_数据压缩, 操作_数据压缩, 公开\n.全局变量 扩展操作_网络_服务端, 操作_网络_服务端, 公开\n.全局变量 扩展操作_网络_客户端, 操作_网络_客户端, 公开\n.全局变量 扩展操作_网络_数据报, 操作_网络_数据报, 公开\n.全局变量 扩展操作_网络_网络通讯, 操作_网络_网络通讯, 公开\n.全局变量 扩展操作_网页单选框, 操作_网页单选框, 公开\n.全局变量 扩展操作_网页复选框, 操作_网页复选框, 公开\n.全局变量 扩展操作_网页模拟, 操作_网页模拟, 公开\n.全局变量 扩展操作_网页文档, 操作_网页文档, 公开\n.全局变量 扩展操作_网页组合框, 操作_网页组合框, 公开\n.全局变量 扩展操作_位图操作, 操作_位图操作, 公开\n.全局变量 扩展操作_系统服务, 操作_系统服务, 公开\n.全局变量 扩展操作_线程操作, 操作_线程操作, 公开\n.全局变量 扩展操作_线程钩\u003Cem\u003E子\u003C\u002Fem\u003E, 操作_线程钩\u003Cem\u003E子\u003C\u002Fem\u003E, 公开\n.全局变量 扩展操作_新位图操作, 操作_新位图操作, 公开\n.全局变量 扩展操作_注册表, 操作_注册表, 公开\n.全局变量 扩展方法_APIHOOK, 方法_APIHOOK, 公开\n.全局变量 扩展方法_BASE64, 方法_BASE64, 公开\n.全局变量 扩展方法_DES, 方法_DES, 公开\n.全局变量 扩展方法_HOOK, 方法_HOOK, 公开\n.全局变量 扩展方法_HTTP, 方法_HTTP, 公开\n.全局变量 扩展方法_MD5, 方法_MD5, 公开\n.全局变量 扩展方法_NTIO, 方法_NTIO, 公开\n.全局变量 扩展方法_RC4, 方法_RC4, 公开\n.全局变量 扩展方法_RSA, 方法_RSA, 公开\n.全局变量 扩展方法_WinIo, 方法_WinIo, 公开\n.全局变量 扩展方法_XML, 方法_XML, 公开\n.全局变量 扩展方法_编码转换, 方法_编码转换, 公开\n.全局变量 扩展方法_表达式运算, 方法_表达式运算, 公开\n.全局变量 扩展方法_封包拦截, 方法_封包拦截, 公开\n.全局变量 扩展方法_加密解密, 方法_加密解密, 公开\n.全局变量 扩展方法_加密配置, 方法_加密配置, 公开\n\n===================\n=====================","createTime":"2010-05-04 12:26:36","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2313613-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2313613-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fyanruichong\u002F2313613\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2313613-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"2\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fyanruichong\u002F2313613\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-2-2313613-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657","title":"ExtAspNet v2.2.1 (2009-4-1) 值得一看","desc":"ExtAspNet v2.2.1\n\t\nExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。\n\n支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+\n\n注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。\n\n示例: http:\u002F\u002Fextasp.net\u002F\n开源: http:\u002F\u002Fextaspnet.codeplex.com\u002F\n博客: http:\u002F\u002Fsanshi.cnblogs.com\u002F\n邮箱: sanshi.ustc@gmail.com\n\n\n发布历史:\n\n+2010-03-28 v2.2.1\n\t+为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器打开后,不能\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框的BUG。\n\t-隐藏示例首页最外层RegionPanel的边框ShowBorder=\"false\"。\n\t+集成Extjs最新版本v3.1.1。\n\t\t-增加一个新的Theme - Access。\n\t\t-修正了Firefox下Zoom In\u002FOut时页面消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。\n\t\t-增加示例tabstrip\u002Ftabstrip_addtab.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来\u003Cem\u003E关闭\u003C\u002Fem\u003E当前Tab和所有其他Tab。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮默认直接\u003Cem\u003E关闭\u003C\u002Fem\u003E,不会\u003Cem\u003E弹出\u003C\u002Fem\u003E确认对话框。\n\t\t-GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。\n\t\t-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。\n\t\t-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。\n\t-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=\"Close\",现在需要这样定义Icon=\"SystemClose\"。\n\t-WindowPosition默认居中,而不是黄金分割位置。\n\t+Button, Window等控件\u003Cem\u003E弹出\u003C\u002Fem\u003E位置属性的变化。\n\t\t-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target=\"_self\" -\u003E Target=\"Self\", Target=\"_parent\" -\u003E Target=\"Parent\"。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。\n\t\t-Confirm.GetShowReference的最后一个参数target变为枚举类型。\n\t\t-Alert.GetShowReference中的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Extjs最新版本v3.1.0。\n\t-修正灰色皮肤的CSS\u003Cem\u003E问题\u003C\u002Fem\u003E。\n\t-修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了\u003Cem\u003E弹出\u003C\u002Fem\u003E菜单的位置在Firefox下不正确的BUG(feedback:eroach)。\n\t-为TriggerBox和TwinTriggerBox增加EnableEdit属性。\n\t-使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。\n\t-使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。\n\t-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。\n\t-增加TabStrip中Tab控件可\u003Cem\u003E关闭\u003C\u002Fem\u003E属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时会出现空白页面的情况(feedback:olivia919)。\n\t\n\t\n\n+2009-12-06 v2.1.8\n\t-修正了使用IFrame的Window\u003Cem\u003E关闭\u003C\u002Fem\u003E后不能再次打开的BUG(feedback:alexa99)。\n\t-修正了IE下Grid中的一个JS\u003Cem\u003E问题\u003C\u002Fem\u003E(feedback:lqm4108)。\n\t-修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。\n\t+集成extjs3.0.3。\n\t\t-修正\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框的宽度计算错误(会保持最小的状态)。\n\t\t-增加新的皮肤Gray。\n\t-为示例工程添加改变语言和皮肤的下拉列表。\n\t-为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。\t\n\n\n\n+2009-12-01 v2.1.7\n\t-增加示例(iframe\u002Fparent_postback_run3.aspx),如何通过简单的Javascript代码回发\u003Cem\u003E父\u003C\u002Fem\u003E页面(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加中国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrameUrl的Tab在切换过程中会重复加载的\u003Cem\u003E问题\u003C\u002Fem\u003E,这是一个在v2.1.6引入的\u003Cem\u003E问题\u003C\u002Fem\u003E(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。\n\t\n\t\n\t\n+2009-11-26 v2.1.6\n\t+修正动态创建Grid列的BUG(feedback:gxpan)。\n\t\t-增加示例(data\u002Fgrid_dynamic_columns.aspx)。\n\t-修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。\n\t-增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。\n\t-为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。\n\t\t\t\n\n\n+2009-11-21 v2.1.5\n\t+Tree优化。\n\t\t-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。\n\t\t-GetNodeById更名为FindNode,保持和FindControl一致命名。\n\t\t-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。\n\t\t-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。\n\t\t-增加示例(data\u002Ftree_select_run.aspx),如何选中当前节点的所有\u003Cem\u003E子\u003C\u002Fem\u003E节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。\n\t\t\t-同时更名的还有GridColumn的ColumnId-\u003EColumnID,GetColumnId-\u003EGetColumnID。\n\t\t\t-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。\n\t\t-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。\n\t-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。\n\t-增加示例(other\u002Fcustom_postback.aspx)(feedback:thebox)。\n\t\t-如何自定义Javascript脚本和C#处理函数来响应键盘事件。\n\t-为Tree增加AutoLeafIdentification属性。\n\t\t-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。\n\t\n\t\n\n+2009-11-17 v2.1.4\n\t-修正Window的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮提示信息一直是中文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。\n\t-v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。\n\t\t-为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。\n\t+为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。\n\t\t-增加示例:form\u002Fform_validate.aspx\n\t\n\t\n\n+2009-10-19 v2.1.3\n\t+增加支持在AJAX时改变的控件属性列表(\u002Fajax.aspx)。\n\t\t-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。\n\t-更新\u002Fbasic\u002Flogin.aspx示例,使用验证图片(feedback:kedee)。\n\t-为Grid增加AutoPostBack属性和RowClick事件,示例在\u002Fdata\u002Fgrid_autopostback.aspx(feedback:chenguizhu2006)。\n\t-为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。\n\t-Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。\n\t\n\t\n\n+2009-09-27 v2.1.2\n\t-为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。\n\t-修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。\n\t-增加pt_BR语言,由Ujvari提供。\n\t+为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。\n\t\t-如果Panel具有IconUrl属性,则IconUrl优先于Icon。\n\t\t-所有Icon的列表在icon.aspx。\n\t-为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。\n\t\n\t\n\n+2009-09-15 v2.1.1\n\t-修正不能动态修改AccordionPane属性Items的BUG。\n\t+为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。\n\t\t-如果需要在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E确认对话框,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。\n\t\t-一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后\u003Cem\u003E关闭\u003C\u002Fem\u003E此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t\t-ExtAspNet.Alert.Show(\"参数错误!\", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());\n\t+TreeNode的前面的多选框可以自动回发了。\n\t\t-为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。\n\t\t-示例在:http:\u002F\u002Fextasp.net\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框的JS代码。\n\t-修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。\n\t-添加定时器控件Timer,用来定时发起AJAX请求。\n\t\n\t\n\n+2009-09-06 v2.1.0\n\t-Button的Pressed属性值能够正确的反映客户端的变化。\n\t-优化Tree控件的AJAX实现。\n\t+为页面的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对extjs3.0中所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在js\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其中添加自己的语言版本,并执行js\\languages下的pack.bat打包,最后编译工程。\n\t\n\t\n\t\n+2009-09-01 v2.0.9\n\t-为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t+在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将会影响所有的aspx页面,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。\n\t+去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。\n -增加示例-如何将Grid控件导出为Excel(data\\grid_excel_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且不会被选中(feedback:your568)。\n -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。\n\t\t-简单方便,示例可以参考 default.aspx 或者 other\\accordion_tree_run.aspx。\n \n \n\n+2009-08-14 v2.0.6\n\t-动态生成菜单实例(other\\menu_dynamic_run.aspx和other\\menu_dynamic2_run.aspx)(feedback:shguo)。\n\t-优化AJAX的内部实现,每个页面保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp.net的提交按钮兼容\u003Cem\u003E问题\u003C\u002Fem\u003E(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容\u003Cem\u003E问题\u003C\u002Fem\u003E,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。\n\t\t-在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。\n\t\t-示例在aspnet\\fckeditor_run.aspx和aspnet\\aspnet_run.aspx。\n\t\t-FCKEditor和上传控件兼容。示例在aspnet\\fileupload_run.aspx。\n\t-修正ToolbarText的文本在AJAX下更新的BUG。\n\t-Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。\n\t-更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。\n\t\n\n\n+2009-08-02 v2.0 beta4\n\t+和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。\n\t\t-支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。\n\t-Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。\n\t-修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。\n\t-修正IE下某些\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的IFrame第一次不能加载的BUG。\n\t-增加Menu和Accordion的示例。\n\t-修正Window控件的IconUrl有时不显示(Target=\"_parent\")的BUG[feedback:xmq&mgzhenhong]。\n\t\n\n\n+2009-07-22 v2.0 beta3\n\t-兼容FCKEditor。\n\t-在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不会对IE6.0提供支持。\n\t\n\n\n+2009-07-13 v2.0 beta2\n\t-集成extjs最新版本v3.0。\n\t+兼容IE6.0-7.0-8.0。\n\t\t-这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此\u003Cem\u003E问题\u003C\u002Fem\u003E)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层JavaScript。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩JavaScript和CSS文件。\n\t-Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS会紧挨着页面\u003Ctitle\u003E标签引入,这样在\u003Chead\u003E中自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert对话框会遮挡所有的Window窗口。\n\t\t-使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。\t\n\t-为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。\n\t-因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。\n\t-重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。\n\t-更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。\n\t-更新示例工程。\n\t\n\t\n\n+2009-03-25 v1.3.1\n\t-Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed]\n\t-Window中的EnableIFrame==false,则点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮时报JS错误。[fixed]\n\t-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet\u002Ffileupload.aspx)[fixed]\n\t-HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed]\n\t\n\t\n\n+2009-03-03 v1.3.0\n\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口在\u003Cem\u003E关闭\u003C\u002Fem\u003E时出现JS错误(http:\u002F\u002Fextjs.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的\u003Cem\u003E问题\u003C\u002Fem\u003E)。[fixed]\n\t-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed]\n\t\t-如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请\u003Cem\u003E刷新\u003C\u002Fem\u003E页面重试。”。[fixed]\n\t-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+系统底层代码优化(\u003Cem\u003E主\u003C\u002Fem\u003E要是Javascript的封装和BUG修复)。[fixed]\n\t\t-底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认提示框的脚本”。\n\t\t---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-不会修改\u003Cem\u003E弹出\u003C\u002Fem\u003E页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个\u003Cem\u003E弹出\u003C\u002Fem\u003E页面添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!\n\t\t-A页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EB页面,B页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EC页面,B页面的Ext-Window控件设置Target='_parent',则\u003Cem\u003E弹出\u003C\u002Fem\u003E的Ext-Window(C页面)会覆盖整个A页面,这是正确的。\n\t\t---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的\u003Cem\u003E父\u003C\u002Fem\u003E页面A了。现在的版本修正为如果找不到\u003Cem\u003E父\u003C\u002Fem\u003E页面,则就在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,这样用户直接访问B页面也不会出错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003EExt-Window,再然后\u003Cem\u003E刷新\u003C\u002Fem\u003E\u003Cem\u003E父\u003C\u002Fem\u003E页面或回发\u003Cem\u003E父\u003C\u002Fem\u003E页面”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口。\n\t\t---现在可以很方便的为Window控件的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮添加\u003Cem\u003E关闭\u003C\u002Fem\u003E后\u003Cem\u003E刷新\u003C\u002Fem\u003E\u003Cem\u003E父\u003C\u002Fem\u003E页面或者\u003Cem\u003E关闭\u003C\u002Fem\u003E后回发\u003Cem\u003E父\u003C\u002Fem\u003E页面的行为。\n\t\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮会报JS错误,因为此时页面尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E含IFrame的\u003Cem\u003E窗体\u003C\u002Fem\u003E。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。\n\t\t-CurrentActiveWindow改名为ActiveWindow。\n\t\t-[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values)\n\t\t---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。\n\t\t\n\t\n\n+2009-02-23 v1.2 beta8\n\t-ContentPanel中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed]\n\t-升级底层ExtJS类库为v2.2.1(此版本\u003Cem\u003E主\u003C\u002Fem\u003E要是Chrome的支持和部分内存泄漏\u003Cem\u003E问题\u003C\u002Fem\u003E的修正)。[fixed]\n\t-页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed]\n\t-Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed]\n\t+PageContext优化。[fixed]\n\t\t-去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。\n\t\t-去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。\n\t\t-Resirect增加重载函数Redirect(string url, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,\u003Cem\u003E父\u003C\u002Fem\u003E窗口,顶级窗口重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed]\n\t-ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed]\n\t-Row和Column布局时,修正IE下设置RowHeight=\"100%\"时显示不正确的BUG。[fixed]\n\t-AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed]\n\t+TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed]\n\t\t-有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则会报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的\u003Cem\u003E问题\u003C\u002Fem\u003E。[fixed]\n\t\t-需要替换新的blowery.Web.HttpCompress.dll,解决方案见http:\u002F\u002Fpohee.com\u002Fit\u002Fhttp-compression-in-aspnet-20\u002F。\n\t+DropDownList优化。[fixed]\n\t\t-去除EnableFirstItem\u002FFirstItemText\u002FFirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。\n\t\t 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(\"全部\", \"-1\"));来达到同样的效果。\n\t\t+如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。\n\t\t\t-和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS中的智能提示。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能提示。\n\t+控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed]\n\t\t-TriggerIconType.Default -\u003E TriggerIconType.None\n\t\t-SystemIconType.Empty -\u003E SystemIconType.None\n\t\t-RegexPattern.USER_DEFINED -\u003E RegexPattern.None\n\t-表单验证属性名称变化(ValueToCompare-\u003ECompareValue,ControlToCompare-\u003ECompareControl)。[fixed]\n\t+注意:一个属性可以拥有多个值的情况。[fixed]\n\t\t-属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。\n\t\t-其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。\n\t+AccordionLink实现为控件。[fixed]\n\t\t-可以方便的在\u003Cem\u003E子\u003C\u002Fem\u003E页面(iframe)中通过js切换\u003Cem\u003E父\u003C\u002Fem\u003E页面中选中的菜单项(Accordion-\u003EAccordionLink)(示例在other\u002Faccordion_links_run.aspx,other\u002Faccordion_links_run_iframe_htm)[feedback:jima]。\n\t+确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form\u002Fform_dynamic_run.aspx)。[fixed]\n\t\n\t\n\t\n+2008-10-15 v1.2 beta5\n\t-验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed]\n\t+优化下拉列表。[fixed]\n\t\t-验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。\n\t\t-DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。\n\t\t-DropDownList不支持EmptyText属性。\n\t\t-ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。\n\t\t-DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。\n\t\n\t\n\n+2008-09-27 v1.2 beta4\n\t+EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而不会对AccordionPanel起作用(示例见other\u002Faccordion_run.aspx)。[fixed]\n\t\t-Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。\n\t\t-影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。\n\t-AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed]\n\t+AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other\u002Faccordion_links_run.aspx)。[fixed]\n\t\t-原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上\u003CItems\u003E标签。\n\t\t-适当增大AccordionPanel中链接的高度20px-\u003E22px,同时对链接的样式也做了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX中HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。\n\t\n\t\n\t\n+2008-09-25 v1.2 beta3\n\t+代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed]\n\t\t-Panel\u002FGroupPanel\u002FContentPanel\u002FTree\u002FHiddenField\u002FPageLoading\n\t\t-TabStrip\u002FToolbar\n\t-TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form中动态添加控件的BUG,现在form\u002Fform_dynamic_run.aspx示例已经能正确运行。[fixed]\n\t+大部分容器的\u003Cem\u003E子\u003C\u002Fem\u003E控件集合更正为Items(以前有些是Rows)。[fixed]\n\t\t-影响的控件包括Toolbar\u002FAccordion\u002FAccordionPanel\u002FGroupPanel\u002FPanel\u002FSimpleForm\u002FWindow等。\n\t\t-保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。\n\t\t-保留TabStrip的Tabs(TabCollection)属性。\n\t\t-保留PageLayout\u002FBorderLayout的Regions(RegionCollection)属性。\n\t-预祝今晚神七发射成功。\n\t\n\t\n\t\n+2008-09-22 v1.2 beta2\n\t+Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+代码优化与设计时支持(示例中表单控件都已支持设计)。[fixed]\n\t\t-PageManager\u002FSimpleForm\u002FButton\u002FHyperLink\u002FLabel\u002FImage\u002FLinkButton\u002FTextBox\n\t\t-TriggerBox\u002FTwinTriggerBox\u002FWindow\u002FTextArea\u002FHtmlEditor\u002FDatePicker\u002FNumberBox\n\t\t-CheckBox\u002FRadioButton\u002FRadioButtonList\u002FDropDownList\n\t\t-Grid\n\n\n\n+2008-09-19 v1.2 beta1\n\t-Image\u002FLinkButton\u002FHyperLink增加一些Ajax可更新属性。[fixed]\n\t+隐藏的方式由HideMode属性控制Visibility\u002FOffsets\u002FDisplay。[fixed]\n\t\t-修正Form\u002FSimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed]\n\t-Button去除MarginRight属性(可以通过CssStyle=\"margin-right:5px;\"达到相同的效果)[fixed]\n\t\n\t\n\t\n+2008-09-09 v1.1\n\t+Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed]\n\t\t-网报:CssClass=\"toolbar-pagemenu\" CssStyle=\"border:0px;\",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(..\u002Fimages\u002Fpagemenu_toolbar_background.gif) repeat-x left top;}。\n\t-Region去除默认的Layout=Fit,如果希望Region使用Fit\u002FAnchor\u002FColumn\u002FRow等布局的话,需要手工指定。[fixed]\n\t-ToolbarSeparator\u002FToolbarFill在Ajax更新Hidden属性的BUG。[fixed]\n\t+布局整理。[fixed]\n\t\t-新增Column\u002FAbsolute\u002FRow三种布局,加上以前的Container\u002FFit\u002FAnchor\u002FAccordion\u002FBorder\u002FForm六种布局,总共有9中布局可供使用。\n\t\t-其中一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002FTabStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002FTabStrip\u002FBorderLayout,经常用到的布局:Fit\u002FRow\u002FAnchor\n\t\n\t\n\t\n+2008-09-08 v1.1 beta7\n\t-MenuButton\u002FMenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了\u003Cem\u003E弹出\u003C\u002Fem\u003E下级菜单,点击没反应,则可以这样设置HideOnClick=\"false\" CssStyle=\"cursor:default;\" [feedback:huayu]。[fixed]\n\t-MenuButton\u002FMenuHyperLink\u002FMenuSeparator\u002FMenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed]\n\t+大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed]\n\t\t-注意Visible和Hidden的区别:Visible=false的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed]\n\t+模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。\n\t\t-解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) \u003E= 0){ok}。\n\t-DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed]\n\t-Button\u002FMenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed]\n\t-Tree的Ajax支持(尚需优化)。[fixed]\n\t\n\t\n\n+2008-09-02 v1.1 beta5\n\t-DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed]\n\t-模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个\u003Cem\u003E问题\u003C\u002Fem\u003E。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和\u003Cem\u003E父\u003C\u002Fem\u003E控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config中增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm\u002FForm的表单字段标题的宽度。[fixed]\n\t+完善Ajax。[fixed]\n\t\t-RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue\u002FSelectedItem)。\n\t\t-DropDownList增加Ajax可更新属性Enable\u002FSelectedIndex(SelectedValue\u002FSelectedItem)\u002FDataSource。\n\t\t-Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。\n\t\t-ToolbarText增加Ajax可更新属性Text。\n\t\t\n\t\t\n\t\t\n+2008-08-31 v1.1 beta3\n\t-TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed]\n\t-重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会出错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。\n\t-网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否\u003Cem\u003E弹出\u003C\u002Fem\u003E的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃Javascript。\n\t\t\t-比如简单的点击一个按钮\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp.net控件不起作用。\n\t\t\t-对容器控件(有\u003Cem\u003E子\u003C\u002Fem\u003E控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性会有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]\n\t-Grid中的回发事件(\u003Cem\u003E主\u003C\u002Fem\u003E要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]\n\t-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知\u003Cem\u003E问题\u003C\u002Fem\u003E:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。\n\t\t-\u003Cem\u003E主\u003C\u002Fem\u003E要是\u003Cem\u003E父\u003C\u002Fem\u003E页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中IFrame的显示速度。[fixed]\n\t\t-在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要~20ms,在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要100~300ms。通过缓存\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口实例,从而第二次\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed]\n\t+TabStrip中非当前Tab会延迟渲染。[fixed]\n\t\t-这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。\n\t\t-由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed]\n\t-全新的ExtAspNet.Examples(基础知识\u002F表单控件\u002F数据绑定\u002F容器布局\u002FIFrame框架)。[fixed]\n\t\n\t\n\t\n+2008-08-19 v0.4 beta6\n\t+PageManager增加两个属性(EnableInlineStyleJavascript\u002FApplyParentStyleJavascript),可以在IFrame页面中使用\u003Cem\u003E父\u003C\u002Fem\u003E页面的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.extjs.net\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发页面再\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口。[fixed]\n\t\t-在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口时要注意设置Popup=false。\n\t\t-另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(\".\u002Fsimpleform.aspx\"));。\n\t\n\t\t\n\t\n+2008-08-15 v0.4 beta5\n\t-点击\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的按钮,在IE6下会有JS错误。[fixed]\n\t-增加BorderLayout控件,示例在iframe\u002Fborderlayout.aspx。[fixed]\n\t+Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed]\n\t\t-全新的样式。\n\t\t-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。\n\t\t-GetValueReference取得的值不正确的BUG。\n\t-动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口\u003Cem\u003E关闭\u003C\u002Fem\u003E后回发\u003Cem\u003E父\u003C\u002Fem\u003E页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed]\n\t\t-这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发\u003Cem\u003E父\u003C\u002Fem\u003E页面后Window中的IFrame被添加到页面,而这是不需要的。\n\t\t-现在\"是否\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口、窗口标题、IFrameUrl\"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此\u003Cem\u003E问题\u003C\u002Fem\u003E解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-点击\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的按钮,在IE下会有JS错误。[fixed]\n\t-Window的右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标增加提示,优化事件响应。[fixed]\t\n\t-Window的代码重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,打开iframe\u002Fdefault.aspx页面,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,点击iframe\u002Fpage3.aspx页面8次后iexplorer占118.792M内存。\n\t\t-修正后,点击iframe\u002Fpage3.aspx页面8次后iexplorer占76.492M内存。\n\t\t-IE窗口最小化时,IE会自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+页面正在加载的提示尽早的显示出来。[fixed]\n\t\t-首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示出来。\n\t\t-加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-TabStrip延时加载出错。[fixed]\n\t-Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则会JS错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed]\n\t-优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed]\n\t-Window中的保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和Asp.netAjax冲突。[fixed]\n\t-优化\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow的js脚本,减少写到页面的js大小。[fixed]\n\t-加快“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E”按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed]\n\t\n\t\n\t\n+2008-08-05 v0.4 beta1\n\t-DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中,点击按钮回发然后点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮,出现js错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。\n\t\t-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。\n\t\t-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。\n\t-每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过点击按钮\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口,可直接\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E父\u003C\u002Fem\u003E页面,也可在\u003Cem\u003E关闭\u003C\u002Fem\u003E后\u003Cem\u003E刷新\u003C\u002Fem\u003E或回发\u003Cem\u003E父\u003C\u002Fem\u003E页面。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid中\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口或者在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,仅仅设置Window的Target属性即可。\n\t\t-示例4,\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t-对整个Examples更新测试。[fixed]\n\t\n\t\n\t\n+2008-07-31 v0.3 beta12\n\t-IE下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed]\n\t-对TabStrip\u002FPanel\u002FWindow中的IFrame重新设计,如果设置IFrameUrl=\"#\"或者\"about:blank\",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame不会有残影出现。[fixed]\n\t-如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed]\n\t-Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe中\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,点击“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮”,可以将\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口。\n\t-参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed]\n\t-Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed]\n\t+IFrame内的页面宽度和高度会自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶\u003Cem\u003E子\u003C\u002Fem\u003E节点并且没有\u003Cem\u003E子\u003C\u002Fem\u003E节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工\u003Cem\u003E关闭\u003C\u002Fem\u003E提示信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed]\n\t-过滤提示消息中的换行符(转换为\u003Cbr\u002F\u003E),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed]\n\t\n\t\n\t\n+2008-07-23 v0.3 beta10\n\t+完善Tree控件。[fixed]\n\t\t-如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed]\n\t-Grid所有类型的列增加DataTooltipField\u002FDataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-22 v0.3 beta9\n\t+IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须手工设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed]\n\t\t-虽然最后未能解决\u003Cdiv style=\"width: 60px; white-space: nowrap; overflow: hidden; border: solid 1px red;\"\u003E\u003Cdiv style=\"width: 16px; height: 18px; float: left;\"\u003E##\u003C\u002Fdiv\u003E差旅交通费\u003C\u002Fdiv\u003E在IE和Firefox下显示的不同效果。\n\t\t-但是通过用\u003Cimg src=\"##\" \u002F\u003E来代替\u003Cdiv style=\"background:url(##)\" \u002F\u003E,从而实现FF和IE下样式的统一。\n\t\t-刚看到old9的解决方案:把“差旅交通费”改成“\u003Cspan style=\"margin-right: -1000px;\"\u003E差旅交通费\u003C\u002Fspan\u003E”,在IE下和FF下的都不换行,:-)\n\t-LinkButton增加OnClick事件 [feedback:huihuang]。[fixed]\n\t-Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed]\n\t+增加树控件(Tree)(示例在tree2.aspx)。[fixed]\n\t\t-可以在回发时维持树的状态(选中行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel中放置ExtAspNet控件,则渲染时会出现各种\u003Cem\u003E问题\u003C\u002Fem\u003E,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种\u003Cem\u003E问题\u003C\u002Fem\u003E(\u003Cem\u003E主\u003C\u002Fem\u003E要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。\n\t+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现\u003Cem\u003E问题\u003C\u002Fem\u003E的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且\u003Cem\u003E主\u003C\u002Fem\u003E内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master 页面。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现内容区域的内容全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的代码让我想起\u003Cem\u003E刷新\u003C\u002Fem\u003E窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。\n\t\n\t\n\t\n+2008-07-14 v0.3 beta6\n\t-增加FlashObject控件。[fixed]\n\t-PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed]\n\t-Accordion选中样式微调。[fixed]\n\t-预加载Form表单出错时提示信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed]\n\t\t-因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid中静态的CheckBoxField图片。[fixed]\n\t-TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-页面菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑页面使用AspNetAjax,则不能在回发时\u003Cem\u003E关闭\u003C\u002Fem\u003E当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的javascript中不能有return false语句。\n\t+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。\n\t-\u003Cem\u003E弹出\u003C\u002Fem\u003EWindow默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是\"#\"。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的如果内容发生变化,则点击右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮时会有提示用户先保存的对话框,但是这个对话框的被第二个\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例中alert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。\n\t-点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed]\n\t+增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed]\n\t-增加SplitButton控件。[fixed]\n\t\n\t\n\t\n+2008-07-09 v0.3 beta4\n\t-DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed]\n\t+Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed]\n\t\t-增加ControlToCompare\u002FValueToCompare\u002FCompareOperator\u002FCompareMessage四个属性,示例在form_compare.aspx。\n\t+TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置Url,只有在激活时才设置Url。\n\t-RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed]\n\t-FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed]\n\t+表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed]\n\t\t-覆盖缺省样式的.x-item-disabled,设置不透明。\n\t\n\t\n\t\n+2008-07-08 v0.3 beta3\n\t-Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed]\n\t+增加HiddenField控件。[fixed]\n\t\t-其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle=\"display:none;\"即可。\n\t+TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed]\n\t\t-最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。\n\t-模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed]\n\t+控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed]\n\t\t-增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。\n\t-LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-07 v0.3 beta2\n\t+增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个\u003Cem\u003E子\u003C\u002Fem\u003E节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx中,点击“Ajax查询”按钮和\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(点击右上角的叉)都引发异步更新。\n\t \n\t \n\t\n+2008-07-03 v0.3 beta1\n\t+容器控件的AutoHeight\u002FAutoWidth默认为false。[fixed]\n\t\t-使用GroupPanel的地方需要手工添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel中放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp.net ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx中。\n\t\t-对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+\u003Cem\u003E关闭\u003C\u002Fem\u003E前提示当前页面已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。\n\t+iframe中的alert\u002Fconfirm要覆盖整个\u003Cem\u003E父\u003C\u002Fem\u003E页面,而不仅仅是iframe页面。[fixed]\n\t\t-在Firefox下还有\u003Cem\u003E问题\u003C\u002Fem\u003E。[fix pending]\n\t+排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed]\n\t\t-可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。\n\t\t-可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。\n\t+HyperLinkField\u002FWindowField的链接地址支持服务器端格式(即是~\u002Falert.aspx)。[fixed]\n\t-TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed]\n\t-可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t\n\t\n\t\n+2008-06-30 v0.2 beta11\n\t-增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed]\n\t-Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed]\n\t-\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]\n\t+页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮的提示保存功能。\n\t-Master\u002FContent的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed]\n\t-增加静态类Confirm。[fixed]\n\t\n\t\n\t\n+2008-06-27 v0.2 beta10\n\t+Grid完善。[fixed]\n\t\t-CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。\n\t\t-Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选中的值 [feedback:jqpeng]。\n\t\t-增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。\n\t-DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。\n\t\n\t\n\t\n+2008-06-25 v0.2 beta9\n\t+Window\u003Cem\u003E窗体\u003C\u002Fem\u003E中的Iframe只让内容区域滚动,而Toolbar不滚动的规则。(示例在content_page2.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-在simpleform.aspx中:Panel[BodyPadding=5](Toolbar,Panel[Height=450 Layout=Fit](SimpleForm[AutoScroll=true])),则外面窗口的高度=450 + 5*2 + 26 + 32,其中26是Toolbar的高度,32是窗口的标题栏和下边框的高度。\n\t+\u003Cem\u003E关闭\u003C\u002Fem\u003EIframe的LoadMask,所以需要Iframe页面添加PageLoading控件,这样效果统一。[fixed]\n\t+Grid完善。\n\t\t-去除EnableClientPaging和EnableClientSort属性,客户端排序和客户端分页在ASP.NET应用中会有很多\u003Cem\u003E问题\u003C\u002Fem\u003E(\u003Cem\u003E主\u003C\u002Fem\u003E要是状态保持的\u003Cem\u003E问题\u003C\u002Fem\u003E)。\n\t\t+EnableServerSort改名AllowSorting。(示例在grid_sorting.aspx)\n\t\t\t-使用非常简单:设置AllowSorting=true,注册OnSort事件,在事件处理函数中重新绑定数据。\n\t\t+增加AllowPaging属性。(示例在grid_paging.aspx)\n\t\t\t-使用非常简单:设置AllowPaging=true,PageSize=3,注册OnPageIndexChange事件,在事件处理函数中Grid1.PageIndex = e.NewPageIndex;OK。\n\t\t+数据库分页支持。(示例在grid_database_paging.aspx)\n\t\t\t-使用也非常简单:设置AllowPaging=true,PageSize=3,在绑定时设置RecordCount为总的记录数,在OnPageIndexChange事件处理函数中Grid1.PageIn","createTime":"2010-04-01 09:41:27","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2190657-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2190657-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2190657-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"3\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fsuper_zhaowenke\u002F2190657\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-3-2190657-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130","title":"ExtAspNet_v2.3.2_dll","desc":"ExtAspNet - ExtJS based ASP.NET Controls with Full AJAX Support\n\t\nExtAspNet是一组专业的Asp.net控件库,拥有原生的AJAX支持和丰富的UI效果,\n目标是创建没有ViewState,没有JavaScript,没有CSS,没有UpdatePanel,没有WebServices的Web应用程序。\n\n支持的浏览器: IE 7.0+, Firefox 3.0+, Chrome 2.0+, Opera 9.5+, Safari 3.0+\n\n注:ExtAspNet基于一些开源的程序ExtJS, HtmlAgilityPack, Nii.JSON, YUICompressor。\n\n示例: http:\u002F\u002Fextasp.net\u002F\n开源: http:\u002F\u002Fextaspnet.codeplex.com\u002F\n博客: http:\u002F\u002Fsanshi.cnblogs.com\u002F\n邮箱: sanshi.ustc@gmail.com\n\n\n发布历史:\n\n+2010-09-29 v2.3.2\n\t-不绑定任何数据到Grid时,确保页面不会出错。\n\t-修正了Grid列属性DataFormatString的一个bug,比如设置{0:yy-MM-dd HH:mm}时没有效果。\n\t-修正下拉列表控件不能绑定DataTable的BUG(feedback:RedOcean)。\n\t-增加土耳其语言资料文件(feedback:abdullaharslan)。\n\t-Grid的BoundField增加NullDisplayText属性,用于处理数据库中的null值,如果没有设置则默认为空字符串。\n\t-修正DatePicker中的一个bug(31\u002F01\u002F2010将会返回NULL)使用DateFormatString来生成SelectedDate属性(feedback:OktaEndy)。\n\t-修正extjs最新版本(v3.2.2)中的一个bug,如果下拉列表中存在两个相同的Text,则SelectedValue返回值永远是第一个Text的值(feedback:ben.zhou)。\n\t-应用补丁#6593, #6621(feedback:vbelyaev)。\n\t+修正IE7下Grid分页速度慢(feedback:youwei, StevenGuan, hazardvn, gavindou, ttjacky)。\n\t\t-实际上IE7下所以的回发都慢,原因是客户端的Base64编码速度慢,已经使用encodeURIComponent来代替Base64编码。\n\t-俄语翻译(feedback:vbelyaev)。\n\t\n\t\n\n+2010-06-30 v2.3.1\n\t-ExtAspNet控件将不在依赖ViewState,减少1\u002F4左右的HTTP数据传输量。\n\t-控件和示例的增强。\n\t\n\t\n\n+2010-03-28 v2.2.1\n\t+为TabStrip的GetAddTabReference函数增加重载方法,以便指定Tab的图标(feedback:mmdcup)。 \n\t\t-修正此函数通过PageContext.RegisterStartupScript调用时不能正确显示Icon的BUG(feedback:zhaowenke)。\n\t-修正basic\u002Fhello.aspx示例在单独浏览器打开后,不能\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框的BUG。\n\t-隐藏示例首页最外层RegionPanel的边框ShowBorder=\"false\"。\n\t+集成Extjs最新版本v3.1.1。\n\t\t-增加一个新的Theme - Access。\n\t\t-修正了Firefox下Zoom In\u002FOut时页面消失的BUG。\n\t\t-删除Panel的EnableLightBackgroundColor属性,同时EnableBackgroundColor只支持Blue和Gray两种Theme。\n\n\n\n+2010-01-31 v2.2.0\n\t-使得Asp.net的控件ImageButton具有和Asp.net的Button控件类似的行为(Ajax提交)(feedback:261629698)。\n\t+TabStrip增加GetAddTabReference和GetRemoveTabReference两个函数,用来向TabStrip控件动态增加删除Tab。\n\t\t-增加示例tabstrip\u002Ftabstrip_addtab.aspx。\n\t-重构了示例网站的架构,目前只有一层IFrame结构。\n\t-为TabStrip增加EnableTabCloseMenu属性,是否启用右键菜单,可用来\u003Cem\u003E关闭\u003C\u002Fem\u003E当前Tab和所有其他Tab。\n\t-为NumberBox增加DecimalPrecision属性,用来控制小数点后的位数(需要设置NoDecimal=\"false\")(feedback:zqmars)。\n\t-Window控件更新。\n\t\t-\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮默认直接\u003Cem\u003E关闭\u003C\u002Fem\u003E,不会\u003Cem\u003E弹出\u003C\u002Fem\u003E确认对话框。\n\t\t-GetConfirmFormModifiedHideReference的函数中的ConfirmFormModified简化为Confirm,所以此函数更名为GetConfirmHideReference。\n\t\t-增加两个属性EnableConfirmOnClose(默认false),CloseAction(Hide, HideRefresh, HidePostBack)。\n\t\t-修正EnableMaximize属性不能使Window最大化的BUG,修正了双击标题栏不能最大化的BUG。\n\t-删除Button控件的SystemIcon属性,比如以前这样定义SystemIcon=\"Close\",现在需要这样定义Icon=\"SystemClose\"。\n\t-WindowPosition默认居中,而不是黄金分割位置。\n\t+Button, Window等控件\u003Cem\u003E弹出\u003C\u002Fem\u003E位置属性的变化。\n\t\t-Window的Target属性由字符串类型变为枚举类型,注意更新以前的代码:Target=\"_self\" -\u003E Target=\"Self\", Target=\"_parent\" -\u003E Target=\"Parent\"。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField的ConfirmTarget属性由字符串变为枚举类型,可以取三个枚举值Self, Parent, Top。\n\t\t-Confirm.GetShowReference的最后一个参数target变为枚举类型。\n\t\t-Alert.GetShowReference中的showInParent参数也变为Target枚举类型。\n\t\t-MenuButton, LinkButton, Button, LinkButtonField增加ValidateTarget用来控制表单验证失败时提示对话框的显示位置。\n\n\n\n+2010-01-06 v2.1.9\n\t-集成Extjs最新版本v3.1.0。\n\t-修正灰色皮肤的CSS\u003Cem\u003E问题\u003C\u002Fem\u003E。\n\t-修正Grid的列名中不能包含中文字符的BUG(feedback:davidwen)。\n\t-为Web.config和PageManager增加属性AjaxTimeout(单位秒,默认30秒)。\n\t-修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。\n\t-Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=\"float:left;\"属性。\n\t-修正了\u003Cem\u003E弹出\u003C\u002Fem\u003E菜单的位置在Firefox下不正确的BUG(feedback:eroach)。\n\t-为TriggerBox和TwinTriggerBox增加EnableEdit属性。\n\t-使用Hidden来显示隐藏ExtAspNet控件,而不是使用Visible属性(Visible目前设置为只读属性)。\n\t-使用Hidden控制Window控件的显示隐藏,Popup已经标记为Obsolete属性。\n\t-Window的实例方法GetCloseReference等以及ActiveWindow的静态方法GetCloseReference等,其中的Close全部改为Hide。\n\t-增加TabStrip中Tab控件可\u003Cem\u003E关闭\u003C\u002Fem\u003E属性EnableClose(默认为false)以及两个方法GetShowReference和GetHideReference(feedback:anson)。\n\t-修正绑定到Tree的XMLDocument中Icon属性映射错误(feedback:nopnop9)。\n\t-修正HtmlEditor不能编辑的BUG(feedback:TheBox)。\n\t-修正IE下有时会出现空白页面的情况(feedback:olivia919)。\n\t\n\t\n\n+2009-12-06 v2.1.8\n\t-修正了使用IFrame的Window\u003Cem\u003E关闭\u003C\u002Fem\u003E后不能再次打开的BUG(feedback:alexa99)。\n\t-修正了IE下Grid中的一个JS\u003Cem\u003E问题\u003C\u002Fem\u003E(feedback:lqm4108)。\n\t-修正Alert消息中引号未编码导致的JS错误(feedback:sun1299shine)。\n\t+集成extjs3.0.3。\n\t\t-修正\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框的宽度计算错误(会保持最小的状态)。\n\t\t-增加新的皮肤Gray。\n\t-为示例工程添加改变语言和皮肤的下拉列表。\n\t-为PageContext增加静态函数Refresh,在切换语言和皮肤时使用。\t\n\n\n\n+2009-12-01 v2.1.7\n\t-增加示例(iframe\u002Fparent_postback_run3.aspx),如何通过简单的Javascript代码回发\u003Cem\u003E父\u003C\u002Fem\u003E页面(feedback:eroach)。\n\t-修正一些书写错误(feedback:bmck)。\n\t-从Region控件中删除SplitColor属性,增加CollapseMode, EnableSplitTip, SplitTip, CollapsibleSplitTip属性(feedback:bmck)。\n\t-BorderPanel更名为RegionPanel。\n\t-DropDownList拥有MarkInvalid方法(feedback:sun1299shine)。\n\t-增加中国的省市县三级联动示例(data\u002Fshengshixian.aspx)(feedback:Blues T)。\n\t-修正了使用IFrameUrl的Tab在切换过程中会重复加载的\u003Cem\u003E问题\u003C\u002Fem\u003E,这是一个在v2.1.6引入的\u003Cem\u003E问题\u003C\u002Fem\u003E(feedback:eroach)。\n\t-修正了启用AutoPostBack的Grid,其RowClick会覆盖LinkButtonField, HyperLinkField, CheckBoxField的点击事件(feedback:yymaoji)。\n\t\n\t\n\t\n+2009-11-26 v2.1.6\n\t+修正动态创建Grid列的BUG(feedback:gxpan)。\n\t\t-增加示例(data\u002Fgrid_dynamic_columns.aspx)。\n\t-修正Form不能自适应浏览器大小的改变(feedback:kaywood)(WorkItem#6309)。\n\t-增加重载方法Alert.Show(message, title, icon)(feedback:TheBox)(WorkItem#6353)。\n\t-为容器控件(比如Panel,Region,Tab等)增加AJAX属性IFrameUrl(feedback:BluesT)。\n\t-重新设计模拟树的下拉列表的实现,避免选中某项后的闪烁。\n\t\t\t\n\n\n+2009-11-21 v2.1.5\n\t+Tree优化。\n\t\t-修正Expanded项和Checked项的状态在回发改变后不能保持的BUG。\n\t\t-GetNodeById更名为FindNode,保持和FindControl一致命名。\n\t\t-删除CheckedNodeIDArray属性,增加GetCheckedNodes和GetCheckedNodeIDs函数。\n\t\t-删除ExpandedNodeIDArray属性,增加GetExpandedNodes和GetExpandedNodeIDs函数。\n\t\t-增加示例(data\u002Ftree_select_run.aspx),如何选中当前节点的所有\u003Cem\u003E子\u003C\u002Fem\u003E节点(feedback:wjl_wjl520)。\n\t\t+TreeNode的属性NodeId被重命名为NodeID,这是ExtAspNet中的一个命名约定。\n\t\t\t-同时更名的还有GridColumn的ColumnId-\u003EColumnID,GetColumnId-\u003EGetColumnID。\n\t\t\t-Grid1.Columns.FindColumnById函数被Grid1.FindColumn所替代。\n\t\t-为TreeCheckEventArgs,TreeExpandEventArgs,TreeCommandEventArgs增加Node属性。\n\t-为所有控件增加Focus(覆盖Control默认的Focus函数)和GetFocusReference函数。\n\t-增加示例(other\u002Fcustom_postback.aspx)(feedback:thebox)。\n\t\t-如何自定义Javascript脚本和C#处理函数来响应键盘事件。\n\t-为Tree增加AutoLeafIdentification属性。\n\t\t-增加示例(tree_auto_leaf_identification.aspx)(feedback:wdrabbit)。\n\t\n\t\n\n+2009-11-17 v2.1.4\n\t-修正Window的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮提示信息一直是中文的BUG(feedback:thebox)。\n\t-部分ExtAspNet控件的设计时支持(会在后续版本中逐步完善)。\n\t-v0.2beta2版本中关于PersistChildren(true)的描述有误,这个是设计时属性,和运行时是否保持状态没有关系。\n\t-修正CheckBox控件的CheckedChanged事件会被触发两次的BUG(Data PostBack-\u003EAutoPostBack, Event PostBack-\u003EEnablePostBack)。\n\t-为TextBox,TextArea,DatePicker,NumberBox,TriggerBox等控件增加AutoPostBack属性(feedback:dk3214)。\n\t+为表单字段增加RequiredMessage,MaxLengthMessage,MinLengthMessage属性,用于指定验证失败时提示信息。\n\t\t-为空则使用默认的提示信息,默认的提示信息支持多语言,建议一般情况下使用默认信息。\n\t+为表单字段增加MarkInvalid和GetMarkInvalidReference函数(feedback:sun1299shine)。\n\t\t-增加示例:form\u002Fform_validate.aspx\n\t\n\t\n\n+2009-10-19 v2.1.3\n\t+增加支持在AJAX时改变的控件属性列表(\u002Fajax.aspx)。\n\t\t-ExtAspNet支持原生的AJAX,也就是说控件的属性改变在AJAX过程中会反映到页面中,但并不是所有的控件属性都支持AJAX改变。\n\t-加载s.gif图片在本机进行,不会请求extjs.com远程资源(feedback:efrigate43,abaocoole)。\n\t-在AJAX回发后确保Asp.net的按钮控件仍然具有AJAX的特性。\n\t-更新\u002Fbasic\u002Flogin.aspx示例,使用验证图片(feedback:kedee)。\n\t-为Grid增加AutoPostBack属性和RowClick事件,示例在\u002Fdata\u002Fgrid_autopostback.aspx(feedback:chenguizhu2006)。\n\t-为所有的表单字段增加AJAX属性ReadOnly(feedback:skydb)。\n\t-Grid中TemplateField生成到页面中控件具有唯一ID,例如Grid1_ct5_Label2,Grid1_ct6_Label2(feedback:geruger)。\n\t\n\t\n\n+2009-09-27 v2.1.2\n\t-为Tree控件增加GetExpandAllNodesReference和GetCollapseAllNodesReference两个函数。\n\t-修正RELEASE版本下多语言加载的BUG(feedback:yigehaoren)。\n\t-增加pt_BR语言,由Ujvari提供。\n\t+为所有Panel(包括Grid,Tree,Form等)增加枚举类型Icon,其中包含1700多个小图标。\n\t\t-如果Panel具有IconUrl属性,则IconUrl优先于Icon。\n\t\t-所有Icon的列表在icon.aspx。\n\t-为Button,MenuItem(MenuButton,MenuHyperLink),AccordionLink,TreeNode,Image(如果ImageUrl为空,则取Icon的值)增加Icon属性。\n\t\n\t\n\n+2009-09-15 v2.1.1\n\t-修正不能动态修改AccordionPane属性Items的BUG。\n\t+为Button, MenuButton, LinkButton, LinkButtonField增加ConfirmTarget。\n\t\t-如果需要在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E确认对话框,需要设置ConfirmTarget=\"_parent\"(类似Window控件的Target=\"_parent\")。\n\t+为ExtAspNet.Alert.Show增加点击确定的JavaScript回调函数。\n\t\t-一个典型应用,在Window控件中打开新页面,如果传递的参数不正确,则首先提示参数不对然后\u003Cem\u003E关闭\u003C\u002Fem\u003E此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t\t-ExtAspNet.Alert.Show(\"参数错误!\", String.Empty, ExtAspNet.ActiveWindow.GetCloseReference());\n\t+TreeNode的前面的多选框可以自动回发了。\n\t\t-为TreeNode增加AutoPostBack属性,增加事件数据类TreeCheckEventArgs,为Tree增加事件NodeCheck。\n\t\t-示例在:http:\u002F\u002Fextasp.net\u002Fdata\u002Ftree_run.aspx\n\t-Grid增加GetNoSelectionAlertInParentReference函数,用来表示没有选中任何一项时在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框的JS代码。\n\t-修正IE7下不能以下划线作为CSS中类名的前缀的BUG(feedback:Steve.Wei)。\n\t-添加定时器控件Timer,用来定时发起AJAX请求。\n\t\n\t\n\n+2009-09-06 v2.1.0\n\t-Button的Pressed属性值能够正确的反映客户端的变化。\n\t-优化Tree控件的AJAX实现。\n\t+为页面的Form添加autocomplete=\"off\"属性。\n\t\t-参考http:\u002F\u002Fwww.cnblogs.com\u002Fsanshi\u002Farchive\u002F2009\u002F09\u002F04\u002F1560146.html#1635830\n\t+添加对extjs3.0中所有语言的支持。\n\t\t-ExtAspNet扩展的多语言包在js\\languages\\extaspnet目录下,目前只有en,zh_CN,zh_TW三种实现\n\t\t-你可以向其中添加自己的语言版本,并执行js\\languages下的pack.bat打包,最后编译工程。\n\t\n\t\n\t\n+2009-09-01 v2.0.9\n\t-为ExtAspNet.Alert添加两个静态方法ShowInParent和GetShowInParentReference,用于在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t+在aspx页面中必须显示的声明控件的集合属性(比如Tabs(TabStrip), Items(PanelBase), Nodes(TreeNode))。\n\t\t-这将会影响所有的aspx页面,所以要特别关注。\n\t-重命名AccordionPanel为AccordionPane (这也是在Asp.net AJAX中使用的名称).\n\t+所有的面板默认有两个集合属性(Toolbars和Items).\n\t\t-尽管TabStrip, From, Tree, Accordion继承了Items属性,但是你并不能对其设置(此时Items是只读的).\n\t\t-这将会影响所有的aspx页面,一定要将工具条(Toolbars)和Items区分开来。\n\t-祝你生日快乐 - 小师妹妹。\n\n\n\n+2009-08-29 v2.0.8\n\t-ExtAspNet支持多语言(en,zh_CN,zh_TW),可以在Web.config中修改。\n\t-将所有的示例转化为英语版本。\n\t-修正Tree控件的一个BUG(定义Mappings属性时)。\n\t+PageManager.Instance应该存在于HttpContext.Current,而不是一个全局变量。\n\t -这个BUG导致Asp.net compatibility中的示例无法完成,现在已经修正。\n\t+去除PageManager中方法AddAjaxAspnetControls,增加属性AjaxAspnetControls。\n\t -这个属性和Button得ValidateForms属性类似,可以查看Asp.net compatibility中的示例。\n\t\n\t\n\n+2009-08-25 v2.0.7\n -为按钮增加DisableControlBeforePostBack属性 - 回发之前是否禁用按钮,防止重复提交 - 默认为true。\n -Grid的Values属性访问限制由internal改为public,这就意味这可以自由改变Grid中每个单元格的值了。\n -增加示例-如何将Grid控件导出为Excel(data\\grid_excel_run.aspx)(feedback:503684912)。\n -如果TreeNode的属性Enabled=\"false\",则此项变灰并且不会被选中(feedback:your568)。\n -修正TreeNode的属性NavigateUrl不接受服务器端URL(以~\u002F开头)的BUG。\n -增加Accordion和Tree配合使用的示例(other\\accordion_tree_run.aspx)。\n -修正Panel图标不能显示的BUG(CSS中class名不能有$字符)。\n +去除PageLayout控件,此控件可以使用BorderLayout和指定PageManager的AutoSizePanelID属性来代替。\n\t\t-这样所有需要占据全屏的Panel(不管你是Accordion,Panel,ContentPanel,Form,GroupPanel,SimpleForm,Tree还是Grid,TabStrip)都可以通过这种方式全屏。\n\t\t-简单方便,示例可以参考 default.aspx 或者 other\\accordion_tree_run.aspx。\n \n \n\n+2009-08-14 v2.0.6\n\t-动态生成菜单实例(other\\menu_dynamic_run.aspx和other\\menu_dynamic2_run.aspx)(feedback:shguo)。\n\t-优化AJAX的内部实现,每个页面保存的ViewState现在减少1\u002F3左右(重要更新)。\n\t-优化Tree节点的NodeId自动生成,减少ViewState占用。\n\t\n\n\n+2009-08-09 v2.0 beta5\n\t+ExtAspNet和Asp.net的提交按钮兼容\u003Cem\u003E问题\u003C\u002Fem\u003E(feedback:千帆)。\n\t\t-在2009-03-03 v1.3.0曾经提到这个兼容\u003Cem\u003E问题\u003C\u002Fem\u003E,并有这样的规则,如果Asp.net的按钮AJAX提交,必须设置UseSubmitBehavior=\"false\"\n\t\t--也就是说生成的input的type不能是\"submit\",而这个限制在有些情况下是不可原谅的。\n\t\t--我们做了优化,现在要使一个Asp.net的按钮能够AJAX提交,你不需要做任何设置(PageManager的属性EnableAjax为true即可,这是默认属性)。\n\t+PageManager的实例方法AddAjaxUpdateControl改名为AddAjaxAspnetControls,现在可以在Page_Load中设置需要在AJAX中需要更新的Asp.net控件了。\n\t\t-在Page_Load中设置了哪些需要在AJAX中更新的Asp.net控件会在回发时保持状态,可以通过RemoveAjaxAspnetControls来去除不需要更新的控件。\n\t\t-示例在aspnet\\fckeditor_run.aspx和aspnet\\aspnet_run.aspx。\n\t\t-FCKEditor和上传控件兼容。示例在aspnet\\fileupload_run.aspx。\n\t-修正ToolbarText的文本在AJAX下更新的BUG。\n\t-Button的Pressed属性在AJAX可更新(feedback:mgzhenhong)。\n\t-更新所有示例。在IE7.0,IE8.0,Firefox3.5,Chrome2.0下测试通过。\n\t\n\n\n+2009-08-02 v2.0 beta4\n\t+和Asp.Net的Forms Authentication兼容[feedback:mgzhenhong]。\n\t\t-采用和Asp.Net Ajax类似的处理方式,需要在配置文件Web.config增加一个httpModules。\n\t\t-现在支持Response.Redirect,你可以选择Response.Redirect或者ExtAspNet.PageContext.Redirect重定向页面,两者效果一样。\n\t\t-支持FormsAuthentication.RedirectFromLoginPage(accountID, false);这样的方法。\n\t-Button增加Type属性(button,reset,submit)[feedback:mgzhenhong]。\n\t-修正Alert.Show方法不能指定文本前图片的BUG[feedback:xmq&mgzhenhong]。\n\t-修正IE下某些\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的IFrame第一次不能加载的BUG。\n\t-增加Menu和Accordion的示例。\n\t-修正Window控件的IconUrl有时不显示(Target=\"_parent\")的BUG[feedback:xmq&mgzhenhong]。\n\t\n\n\n+2009-07-22 v2.0 beta3\n\t-兼容FCKEditor。\n\t-在IE8.0,Firefox3.5下测试通过。以后ExtAspNet将不会对IE6.0提供支持。\n\t\n\n\n+2009-07-13 v2.0 beta2\n\t-集成extjs最新版本v3.0。\n\t+兼容IE6.0-7.0-8.0。\n\t\t-这应该是Extjs3.0的一个BUG,在IE6.0-7.0下面设置Ext.QuickTips.init();会导致button的click事件无法响应(IE8下无此\u003Cem\u003E问题\u003C\u002Fem\u003E)。\n\t\t-目前先禁用IE6.0-7.0的QuickTips。\n\t-优化底层JavaScript。\n\t\n\t\n\t\n+2009-07-05 v2.0 beta1\n\t-更新extjs库到最新版本v3.0 RC2; 目前只有一个缺省皮肤(Theme)。\n\t-使用YUI Compressor压缩JavaScript和CSS文件。\n\t-Release版本每个页面只包含一个JavaScript文件(语言文件除外)和一个CSS文件。\n\t-ExtAspNet自身的CSS会紧挨着页面标签引入,这样在中自定义的样式可以覆盖ExtAspNet缺省样式。\n\t+Alert对话框会遮挡所有的Window窗口。\n\t\t-使用一个变通的方法解决,因为无法改变Ext.Message的默认z-index(9000)所以将box.window_default_group的zseed调整为6000。\t\n\t-为所有按钮的左右增加5px的空白边距:.x-btn button { margin: 0 5px !important; }。\n\t-因为下拉列表不可编辑,所以不能为空,如果不设置SelectedIndex或SelectedValue,则默认选中第一项。\n\t-重新绑定模拟树的下拉列表后,选中项的前面有图片的HTML标签的BUG。\n\t-更新自定义JavaScript组件Ext.ux.SimplePagingToolbar。\n\t-更新示例工程。\n\t\n\t\n\n+2009-03-25 v1.3.1\n\t-Tree在AJAX回发展开节点时JS错误[feedback:xlli]。[fixed]\n\t-Window中的EnableIFrame==false,则点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮时报JS错误。[fixed]\n\t-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet\u002Ffileupload.aspx)[fixed]\n\t-HtmlEditor显示隐藏工具栏按钮不起作用,HtmlEditor目前不支持Enabled和Readonly两个属性。[fixed]\n\t\n\t\n\n+2009-03-03 v1.3.0\n\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口在\u003Cem\u003E关闭\u003C\u002Fem\u003E时出现JS错误(http:\u002F\u002Fextjs.com\u002Fforum\u002Fshowthread.php?t=8129)[feedback:xlli]。[fixed]\n\t-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的\u003Cem\u003E问题\u003C\u002Fem\u003E)。[fixed]\n\t-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]\n\t-ExtAspNet内部包含HtmlAgilityPack和Nii.JSON两个开源的第三方类库。[added]\n\t+如果以前你听过不要在ExtAspNet工程中使用ASP.NET标准控件的忠告,那么从v1.3.0版本开始,你可以忘掉这个说法,现在ExtAspNet控件和ASP.NET标准控件和平共处了。[fixed]\n\t\t-如果一个ASP.NET按钮控件要使用ExtAspNet的原生AJAX,只需要设置属性 UseSubmitBehavior=\"false\" 即可。\n\t\t-如果要在一次ExtAspNet的原生AJAX回发时更新ASP.NET控件的值,只需要调用PageManager的公共方法AddAjaxUpdateControl即可(示例:aspnet\u002Faspnet.aspx)。\n\n\n\n+2009-02-27 v1.2 beta9\n\t-网络连接出错时的“Ajax Error”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请\u003Cem\u003E刷新\u003C\u002Fem\u003E页面重试。”。[fixed]\n\t-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大部分的测试,对于一些难以测试的地方借助jQuery完成。[fixed]\n\t+系统底层代码优化(\u003Cem\u003E主\u003C\u002Fem\u003E要是Javascript的封装和BUG修复)。[fixed]\n\t\t-底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。\t\n\t\t-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认提示框的脚本”。\n\t\t---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference\u002FGetConfirmFormModifiedCloseRefreshReference\u002FGetConfirmFormModifiedClosePostBackReference三个方法代替。\n\t\t-不会修改\u003Cem\u003E弹出\u003C\u002Fem\u003E页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个\u003Cem\u003E弹出\u003C\u002Fem\u003E页面添加box_parent_client_id查询字符串\n\t\t-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。\n\t\t---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!\n\t\t-A页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EB页面,B页面有Ext-Window控件\u003Cem\u003E弹出\u003C\u002Fem\u003EC页面,B页面的Ext-Window控件设置Target='_parent',则\u003Cem\u003E弹出\u003C\u002Fem\u003E的Ext-Window(C页面)会覆盖整个A页面,这是正确的。\n\t\t---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的\u003Cem\u003E父\u003C\u002Fem\u003E页面A了。现在的版本修正为如果找不到\u003Cem\u003E父\u003C\u002Fem\u003E页面,则就在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,这样用户直接访问B页面也不会出错了。\n\t\t-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的客户端脚本”。\n\t\t---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003EExt-Window,再然后\u003Cem\u003E刷新\u003C\u002Fem\u003E\u003Cem\u003E父\u003C\u002Fem\u003E页面或回发\u003Cem\u003E父\u003C\u002Fem\u003E页面”。\n\t\t---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口。\n\t\t---现在可以很方便的为Window控件的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮添加\u003Cem\u003E关闭\u003C\u002Fem\u003E后\u003Cem\u003E刷新\u003C\u002Fem\u003E\u003Cem\u003E父\u003C\u002Fem\u003E页面或者\u003Cem\u003E关闭\u003C\u002Fem\u003E后回发\u003Cem\u003E父\u003C\u002Fem\u003E页面的行为。\n\t\t-如果\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮会报JS错误,因为此时页面尚未加载完毕。\n\t\t---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E含IFrame的\u003Cem\u003E窗体\u003C\u002Fem\u003E。\n\t\t-Window控件的IFrameName属性是自动生成的,只读属性。(因为有可能所有的Ext-Window最终都渲染到最外层的页面,为了保证这些IFrame的name不同,IFrameName使用的是GUID,内部处理)。\n\t\t-CurrentActiveWindow改名为ActiveWindow。\n\t\t-[特别注意]GetWriteBackValueReference(string controlClientIds, string value, params string[] values)函数现在的定义是GetWriteBackValueReference(params string[] values)\n\t\t---所有调用GetWriteBackValueReference的地方,需要删除第一个参数(一般是ActiveWindow.GetLoadStateReference())。\n\t\t\n\t\n\n+2009-02-23 v1.2 beta8\n\t-ContentPanel中内容不能自动扩展高度的BUG[feedback:huihuang]。[fixed]\n\t-DropDownList在Ajax回发时不能计算模拟树的数据[feedback:huihuang]。[fixed]\n\t-DropDownList在页面第一次加载时没有不可选择项,则回发时也不会有不可选择项的BUG。[fixed]\n\t-升级底层ExtJS类库为v2.2.1(此版本\u003Cem\u003E主\u003C\u002Fem\u003E要是Chrome的支持和部分内存泄漏\u003Cem\u003E问题\u003C\u002Fem\u003E的修正)。[fixed]\n\t-页面加载过程中的时间信息保存在Javascript变量window.box.timeInfo中。[added]\n\t+增加部分自动测试支持(使用WatiN和NUnit),下个版本将会提供完整的自动测试支持。[fixed]\n\t\n\t\n\n+2008-10-28 v1.2 beta7\n\t-DropDownList没有选中任何一项,回发时报错[feedback:huihuang]。[fixed]\n\t-Window显示位置不对,以及不能拖动的BUG[feedback:huihuang]。[fixed]\n\t+PageContext优化。[fixed]\n\t\t-去除RegisterExclusiveScript静态函数(这是没有原生ajax之前的产物),使用RegisterStartupScript替代。\n\t\t-去除RegisterStartupScript的重载函数,只保留最简单的PageContext.RegisterStartupScript(string script)函数。\n\t\t-Resirect增加重载函数Redirect(string url, string target),其中target可能的取值为_self,_parent,_top,分别表示在当前窗口,\u003Cem\u003E父\u003C\u002Fem\u003E窗口,顶级窗口重定向[feedback:jqpeng]。\n\t-Image控件增加ImageWidth\u002FImageHeight\u002FImageCssStyle\u002FImageCssClass\u002FImageAlt属性[feedback:jqpeng]。[fixed]\n\t-发布包中增加一个Web.config.txt,这是一个空的Web.config文件,包含BOX基本的配置信息。[fixed]\n\t-ContentPanel的ShowHeader和ShowBorder属性默认也是true(注意更新以前的应用)。[fixed]\n\t-Row和Column布局时,修正IE下设置RowHeight=\"100%\"时显示不正确的BUG。[fixed]\n\t-AccordionLink当鼠标移上和移开时,有背景色的变化效果[feedback:huihuang]。[fixed]\n\t+TabStrip的Tab控件的EnablePostBack属性会在回发时保持(也即是说如果EnablePostBack=true,回发时没改变EnablePostBack的值,则每次切换到此Tab都会回发)。[fixed]\n\t\t-有这样一个效果,如果Tab1默认显示,Tab1的EnablePostBack=true,则页面加载完毕后会回发Tab1一次。\n\t\n\t\n\n+2008-10-20 v1.2 beta6\n\t+使用控件的站点必须建立虚拟目录,否则会报JS错误(即是脚本资源没有加载),却原来是HTTPCompress组件的\u003Cem\u003E问题\u003C\u002Fem\u003E。[fixed]\n\t\t-需要替换新的blowery.Web.HttpCompress.dll,解决方案见http:\u002F\u002Fpohee.com\u002Fit\u002Fhttp-compression-in-aspnet-20\u002F。\n\t+DropDownList优化。[fixed]\n\t\t-去除EnableFirstItem\u002FFirstItemText\u002FFirstItemValue,这个并不能带来很大的好处,反而容易让开发人员困惑。\n\t\t 现在可以方便的在后台DropDownList1.Items.Insert(0, new ExtAspNet.ListItem(\"全部\", \"-1\"));来达到同样的效果。\n\t\t+如果某项(ListItem)的Value为空字符串,则通过SelectedIndex和SelectedValue不能选中[feedback:jqpeng]。\n\t\t\t-和Asp.net中的保持一致,ListItem的Value值可以为空字符串。 也就是可以这样写DropDownList1.SelectedValue = \"\";\n\t\t-ListItemCollection增加重载函数Add(string text, string value),这样方便后台添加列表项。\n\t-处于布局内的容器控件(Layout!=LayoutType.Container),AutoHeight会自动设置为false(避免开发人员发生此类错误)。[fixed]\n\t-注意,控件的高度指的是整个控件的高度,包含BodyPadding(这和CSS中的height不同,CSS中的height是指内容的高度,除去padding\u002Fborder-width\u002Fmargin)。[fixed]\n\t+为所有控件属性增加在VS中的智能提示。[fixed]\n\t\t-需要将ExtAspNet.XML和ExtAspNet.dll放在一起,这样引用dll时xml会被拷贝到bin目录下,提供VS的智能提示。\n\t+控件的属性如果是枚举类型,如果此属性可以不取值,则默认为None。[fixed]\n\t\t-TriggerIconType.Default -\u003E TriggerIconType.None\n\t\t-SystemIconType.Empty -\u003E SystemIconType.None\n\t\t-RegexPattern.USER_DEFINED -\u003E RegexPattern.None\n\t-表单验证属性名称变化(ValueToCompare-\u003ECompareValue,ControlToCompare-\u003ECompareControl)。[fixed]\n\t+注意:一个属性可以拥有多个值的情况。[fixed]\n\t\t-属性和CSS相关则用空格分隔(比如ColumnWidths,BodyPadding)。\n\t\t-其他的都是逗号分隔(比如ValidateForms,DataKeyNames,DataNavigateUrlFields)。\n\t+AccordionLink实现为控件。[fixed]\n\t\t-可以方便的在\u003Cem\u003E子\u003C\u002Fem\u003E页面(iframe)中通过js切换\u003Cem\u003E父\u003C\u002Fem\u003E页面中选中的菜单项(Accordion-\u003EAccordionLink)(示例在other\u002Faccordion_links_run.aspx,other\u002Faccordion_links_run_iframe_htm)[feedback:jima]。\n\t+确认:可以方便的动态添加控件,并且可以给控件添加服务器端事件(示例在form\u002Fform_dynamic_run.aspx)。[fixed]\n\t\n\t\n\t\n+2008-10-15 v1.2 beta5\n\t-验证表单字段的ValueToCompare属性,为字符串时会出错的BUG。[fixed]\n\t+优化下拉列表。[fixed]\n\t\t-验证下拉列表时,应该取ListItem的Value属性进行验证,而不是Text属性。\n\t\t-DropDownList的Items增加Insert方法(可方便的下拉列表选项添加“全部”)。\n\t\t-DropDownList不支持EmptyText属性。\n\t\t-ListItem启用EnableSelect和SimulateTreeLevel属性,这样就可以直接在前台(ASPX)中设置哪些项不可选择,以及创建模拟下拉树。\n\t\t-DropDownList增加EnableSimulateTree属性(默认为false),如果设置了DataSimulateTreeLevelField,则自动将EnableSimulateTree设置为true。\n\t\n\t\n\n+2008-09-27 v1.2 beta4\n\t+EnableLargeHeader属性对所有容器的效果一样,Accordion的属性EnableLargeHeader只会改变Accordion的标题大小,而不会对AccordionPanel起作用(示例见other\u002Faccordion_run.aspx)。[fixed]\n\t\t-Accordion去除EnableHightlight属性,AccordionPanel增加EnableHightlight属性。\n\t\t-影响以前使用Box的应用,需要将Accordion的属性去掉,然后为每个AccordionPanel增加EnableLargeHeader和EnableHightlight属性。\n\t-AccordionPanel鼠标移上去的样式调整(现在没有下面的一条白线了)。[fixed]\n\t+AccordionPanel增加Links属性,可以绑定列表数据到AccordionPanel,呈现的是链接的列表(示例在other\u002Faccordion_links_run.aspx)。[fixed]\n\t\t-原来放置在AccordionPanel中的容器,比如ContentPanel需要在外层加上标签。\n\t\t-适当增大AccordionPanel中链接的高度20px-\u003E22px,同时对链接的样式也做了微调。\n\t\t-通过BodyPadding控制链接列表的边距。\n\t\t-这样能大大减少ASPX中HTML代码和Javascript代码的书写,可以在后台动态添加链接,效果很赞,此需求由马季提出。\n\t\n\t\n\t\n+2008-09-25 v1.2 beta3\n\t+代码优化与设计时支持(尚需要不断完善,目前可以在ASPX页切换到“设计时”,方便属性的更改和事件处理函数的添加)。[fixed]\n\t\t-Panel\u002FGroupPanel\u002FContentPanel\u002FTree\u002FHiddenField\u002FPageLoading\n\t\t-TabStrip\u002FToolbar\n\t-TabStrip去除Plain属性,增加EnableTitleBackgroundColor(默认为true)。[fixed]\n\t-向Form中动态添加控件的BUG,现在form\u002Fform_dynamic_run.aspx示例已经能正确运行。[fixed]\n\t+大部分容器的\u003Cem\u003E子\u003C\u002Fem\u003E控件集合更正为Items(以前有些是Rows)。[fixed]\n\t\t-影响的控件包括Toolbar\u002FAccordion\u002FAccordionPanel\u002FGroupPanel\u002FPanel\u002FSimpleForm\u002FWindow等。\n\t\t-保留Form的Rows(FormRowCollection)属性和Grid的Rows属性(GridRowCollection)。\n\t\t-保留TabStrip的Tabs(TabCollection)属性。\n\t\t-保留PageLayout\u002FBorderLayout的Regions(RegionCollection)属性。\n\t-预祝今晚神七发射成功。\n\t\n\t\n\t\n+2008-09-22 v1.2 beta2\n\t+Grid选中项(SelectedRowIndexArray)在ajax回发过程中存在BUG [feedback:xmzhu]。[fixed]\n\t\t-表现为对Grid进行多次删除添加操作后,SelectedRowIndexArray选中项中会存在当前不存在的行序号,导致服务器端遍历选中项时数组越界。所有使用box控件的应用程序都受到此BUG的影响,需尽快更新到新版本。\n\t+代码优化与设计时支持(示例中表单控件都已支持设计)。[fixed]\n\t\t-PageManager\u002FSimpleForm\u002FButton\u002FHyperLink\u002FLabel\u002FImage\u002FLinkButton\u002FTextBox\n\t\t-TriggerBox\u002FTwinTriggerBox\u002FWindow\u002FTextArea\u002FHtmlEditor\u002FDatePicker\u002FNumberBox\n\t\t-CheckBox\u002FRadioButton\u002FRadioButtonList\u002FDropDownList\n\t\t-Grid\n\n\n\n+2008-09-19 v1.2 beta1\n\t-Image\u002FLinkButton\u002FHyperLink增加一些Ajax可更新属性。[fixed]\n\t+隐藏的方式由HideMode属性控制Visibility\u002FOffsets\u002FDisplay。[fixed]\n\t\t-修正Form\u002FSimpleForm中隐藏一个表单字段(Hidden=false)会占据页面空间的BUG。\n\t-ToolbarText\u002FToolbarFill\u002FToolbarSeparator在ASPX中设置Hidden=true不起作用的BUG [feedback:jbzhang]。[fixed]\n\t-Button去除MarginRight属性(可以通过CssStyle=\"margin-right:5px;\"达到相同的效果)[fixed]\n\t\n\t\n\t\n+2008-09-09 v1.1\n\t+Toolbar去除IsPageMenu属性,在网报中可以用自定义样式实现,而不应该写在控件中。[fixed]\n\t\t-网报:CssClass=\"toolbar-pagemenu\" CssStyle=\"border:0px;\",同时定义样式:.toolbar-pagemenu{ background: rgb(208, 222, 240) url(..\u002Fimages\u002Fpagemenu_toolbar_background.gif) repeat-x left top;}。\n\t-Region去除默认的Layout=Fit,如果希望Region使用Fit\u002FAnchor\u002FColumn\u002FRow等布局的话,需要手工指定。[fixed]\n\t-ToolbarSeparator\u002FToolbarFill在Ajax更新Hidden属性的BUG。[fixed]\n\t+布局整理。[fixed]\n\t\t-新增Column\u002FAbsolute\u002FRow三种布局,加上以前的Container\u002FFit\u002FAnchor\u002FAccordion\u002FBorder\u002FForm六种布局,总共有9中布局可供使用。\n\t\t-其中一些控件默认使用一种布局:SimpleForm(Form)\u002FForm(Form)\u002FPanel-GroupPanel(Container)\u002FAccordion(Accordion)\u002FPageLayout(Border)\u002FBorderLayout(Border)\u002FTabStrip(Card),所有布局控件默认的布局是Container。\n\t\t-经常用到的布局控件:SimpleForm\u002FForm\u002FAccordion\u002FTabStrip\u002FBorderLayout,经常用到的布局:Fit\u002FRow\u002FAnchor\n\t\n\t\n\t\n+2008-09-08 v1.1 beta7\n\t-MenuButton\u002FMenuHyperLink增加HideOnClick属性,如果一个菜单项的作用仅仅为了\u003Cem\u003E弹出\u003C\u002Fem\u003E下级菜单,点击没反应,则可以这样设置HideOnClick=\"false\" CssStyle=\"cursor:default;\" [feedback:huayu]。[fixed]\n\t-MenuButton\u002FMenuHyperLink\u002FMenuSeparator\u002FMenuText增加Hidden属性(此属性是Ajax可更新属性,如果需要在Ajax时显示隐藏菜单,请使用此属性而不是Visible属性)。[fixed]\n\t+大部分的ExtAspNet控件增加Hidden属性(少数几个控件没有此属性:Menu),这样在Ajax时可以显示隐藏控件。[fixed]\n\t\t-注意Visible和Hidden的区别:Visible=false的属性不会渲染到客户端,Hidden=true的控件渲染到客户端但是隐藏。\n\t\t-US的ExtAspNet改造强烈依赖于此属性,这个版本发布后可以继续。\n\t\t-网报中唯一没有用到ExtAspNetAjax的地方就是显示隐藏表单字段,现在也可以使用Ajax了。\n\n\n\n+2008-09-04 v1.1 beta6\n\t-PageContext.Redirect支持普通页面转向和ExtAspNetAjax下页面转向。[fixed]\n\t+模拟树的下拉列表的BUG(会使一些可选项变成不可选项)[feedback:xmzhu]。[fixed]\n\t\t-因为if(\"0,2,9,11,\".indexOf('1,')\u003E=0){ok},这显然是不对的,此BUG涉及很多控件(Grid,DropDownList,TabStrip)。\n\t\t-解决方法:testValue += '';if(domValue.split(',').indexOf(testValue) \u003E= 0){ok}。\n\t-DropDownList在Ajax时应该先更新数据再设置选定项 [feedback:xmzhu]。[fixed]\n\t-Button\u002FMenuButton增加Ajax可更新属性OnClientClick [feedback:xmzhu]。[fixed]\n\t-Tree的Ajax支持(尚需优化)。[fixed]\n\t\n\t\n\n+2008-09-02 v1.1 beta5\n\t-DropDownList如果第一次没有绑定值,应该绑定到[[]](二维数组),而不是[](一维数组)。[fixed]\n\t-模拟树的DropDownList,在Ajax重新绑定DataSource后,保持项是否可选状态是最新的(页面第一次加载时,即使没有数据也需要设置DataTextField\u002FDataValueField\u002FDataSimulateTreeLevelField\u002FDataEnableSelectField等属性的值,否则Ajax回发时会出错)。[fixed]\n\t-UserControlConnector导致的Ajax错误,去除UpdatePanelConnector控件(以后不会用AspnetAjax,这个控件已经完成使命)。[fixed]\n\t-不要使用Asp.net的控件HiddenField,而是使用ExtAspNet的HiddenField,因为Asp.net的控件在Ajax不会被更新,所以会导致视图状态不一致的错误。[fixed]\n\t-网报Ajax整合基本完成(除了待审批-\u003E下一步[审核\u002F归档\u002F出纳]操作,由于需要显示隐藏表单字段,目前Ajax不支持,使用的还是普通的PostBack)。[fixed]\n\t-IE下,RadioButtonList中项如果存在汉字,则会换行的BUG。[fixed]\n\t-增加两个Theme[Slate\u002FBlack](样式尚需完善)。[fixed]\n\t\n\t\n\t\n+2008-09-01 v1.1 beta4\n\t-非当前Tab中如果有ContentPanel,则在页面上方会有空白(可以通过设置EnableDeferredRender=false解决,但会减慢页面的加载速度),现在已经解决这个\u003Cem\u003E问题\u003C\u002Fem\u003E。[fixed]\n\t-RadioButtonList去除EnableBackgroundColor\u002FEnableLightBackgroundColor属性,背景色是透明的,也就是和\u003Cem\u003E父\u003C\u002Fem\u003E控件(SimpleForm\u002FForm)的背景色一致。[fixed]\n\t-TwinTriggerBox的第一个Trigger图标不会先显示再隐藏,而是直接隐藏掉(如果用户设置ShowTrigger1=false)。[fixed]\n\t-Web.config中增加配置项FormLabelWidth=\"80\"(默认为80),同时PageManager增加FormLabelWidth属性用来控制页面上所有SimpleForm\u002FForm的表单字段标题的宽度。[fixed]\n\t+完善Ajax。[fixed]\n\t\t-RadioButtonList增加Ajax可更新属性SelectedIndex(SelectedValue\u002FSelectedItem)。\n\t\t-DropDownList增加Ajax可更新属性Enable\u002FSelectedIndex(SelectedValue\u002FSelectedItem)\u002FDataSource。\n\t\t-Grid增加Ajax可更新属性Columns(也就是说Grid列在回发时隐藏显示了一些,也能正确的Ajax)。\n\t\t-ToolbarText增加Ajax可更新属性Text。\n\t\t\n\t\t\n\t\t\n+2008-08-31 v1.1 beta3\n\t-TabStrip增加EnableDeferredRender属性(是否启用延迟加载Tab,默认启用)。[fixed]\n\t-重定向页面,使用系统的方法 PageContext.Redirect(string url),使用Response.Redirect方法会出错。[fixed]\n\t+安全的Ajax设计。[fixed]\n\t\t-这个版本Ajax和上个版本(v1.1beta1)在设计思路上有很大区别,同时在速度上会有进一步的提升。\n\t\t-基本思想:安全的Ajax交互,明确Ajax回发时支持控件哪些属性的改变,这将适合90%的应用场景(并且具有极快的反应速度),对于需要UI大改动的可采用常规回发,系统提供控件级别的EnableAjax属性。\n\t\t-整理支持Ajax的控件属性改变列表(所有被支持的属性改变都是安全的、快速的,所有不被支持的属性改变不会对UI起作用,同时是安全的,不会有js错误)。\n\t-网报Ajax整合(目前只支持所有的列表页面)(v0.8.1)。[fixed]\n\t\n\t\n\t\n+2008-08-29 v1.1 beta1\n\t+Window控件是否\u003Cem\u003E弹出\u003C\u002Fem\u003E的状态在回发时维持。[fixed]\n\t\t-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。\n\t+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]\n\t\t-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。\n\t\t-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。\n\t\t+在这种设计下,其实可以完全抛弃Javascript。\n\t\t\t-比如简单的点击一个按钮\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。\n\t\t\t-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的情况下和第二种方法差别不是很大。\n\t\t\t-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。\n\t\t+目前ExtAspNetAjax的限制。\n\t\t\t-只对ExtAspNet控件起作用,对Asp.net控件不起作用。\n\t\t\t-对容器控件(有\u003Cem\u003E子\u003C\u002Fem\u003E控件的控件)不起作用,只对最底层的控件起作用。\n\t\t\t-对改变控件的Visible属性会有错误。\n\t\t\t-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。\n\t-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]\n\t-Grid中的回发事件(\u003Cem\u003E主\u003C\u002Fem\u003E要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]\n\t-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]\n\t\n\t\n\t\n+2008-08-26 v1.0\n\t+已知\u003Cem\u003E问题\u003C\u002Fem\u003E:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。\n\t\t-\u003Cem\u003E主\u003C\u002Fem\u003E要是\u003Cem\u003E父\u003C\u002Fem\u003E页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。\n\t+优化\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中IFrame的显示速度。[fixed]\n\t\t-在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要~20ms,在\u003Cem\u003E父\u003C\u002Fem\u003E页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口需要100~300ms。通过缓存\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口实例,从而第二次\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口不再需要创建时间。\n\t-PageLayout的Region增加SplitColor属性,默认的背景色是透明的。(在网报中需要设置SplitColor=\"#CADDF7\",以便分隔符的颜色和Toolbar的颜色一致)[fixed]\n\t+PageManager增加属性Theme、Language、FormMessageTarget、FormOffsetRight等属性,这些属性可以在Web.config中设置(推荐方法),也可以为每个页面设置。[fixed]\n\t\t-一个典型的应用是为每个用户设置不同的皮肤(根据用户浏览器中Cookie设置的值)(示例在default.aspx)。\n\t-TreeNode增加属性SingleClickExpand,表示点击可切换节点的折叠展开状态。[fixed]\n\t+TabStrip中非当前Tab会延迟渲染。[fixed]\n\t\t-这会明显加快页面的渲染速度,网报中一个典型的费用审批页面可以减少200ms的渲染时间。\n\t\t-由于非当前Tab不会在页面加载时渲染,所以那些Tab中的节点在页面加载后也是不可见的,需要将相关的脚本移动到控件的render事件中。\n\t-不能比较两个DataPicker大小的BUG。[fixed]\n\t-TabStrip延迟加载引起的BUG(非当前Tab中的ContentPanel会占据页面空间,已修正)。[fixed]\n\t-全新的ExtAspNet.Examples(基础知识\u002F表单控件\u002F数据绑定\u002F容器布局\u002FIFrame框架)。[fixed]\n\t\n\t\n\t\n+2008-08-19 v0.4 beta6\n\t+PageManager增加两个属性(EnableInlineStyleJavascript\u002FApplyParentStyleJavascript),可以在IFrame页面中使用\u003Cem\u003E父\u003C\u002Fem\u003E页面的脚本和样式(示例在iframe\u002Fdefault.aspx和iframe\u002Fpage3.aspx)。[fixed]\n\t\t-测试发现,IFrame页面的加载速度并没有明显加快,可以先不使用此属性。\n\t-RadioButtonList放在在BorderLayout中显示不了的BUG [feedback:zgjiang2]。[fixed]\n\t+extjs的BUG,当页面中含有iframe时,Ext.onReady会被调用两次(IE6\u002FIE7)(http:\u002F\u002Fwww.extjs.net\u002Fforum\u002Fshowthread.php?t=43246)(示例在test.aspx)[fixed]\n\t\t-现在的解决方法是在初始化时:if(this.initialized){return;}this.initialized=true;\n\t+需要先回发页面再\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口。[fixed]\n\t\t-在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口时要注意设置Popup=false。\n\t\t-另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference(\".\u002Fsimpleform.aspx\"));。\n\t\n\t\t\n\t\n+2008-08-15 v0.4 beta5\n\t-点击\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的按钮,在IE6下会有JS错误。[fixed]\n\t-增加BorderLayout控件,示例在iframe\u002Fborderlayout.aspx。[fixed]\n\t+Radiobuttonlist显示有重影(示例在radio.aspx)。[fixed]\n\t\t-全新的样式。\n\t\t-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。\n\t\t-GetValueReference取得的值不正确的BUG。\n\t-动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]\n\t+IFrame\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口\u003Cem\u003E关闭\u003C\u002Fem\u003E后回发\u003Cem\u003E父\u003C\u002Fem\u003E页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed]\n\t\t-这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发\u003Cem\u003E父\u003C\u002Fem\u003E页面后Window中的IFrame被添加到页面,而这是不需要的。\n\t\t-现在\"是否\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口、窗口标题、IFrameUrl\"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此\u003Cem\u003E问题\u003C\u002Fem\u003E解决。(示例在button_iframe.aspx)\n\t\n\t\n\t\n+2008-08-13 v0.4 beta4\n\t-点击\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的按钮,在IE下会有JS错误。[fixed]\n\t-Window的右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标增加提示,优化事件响应。[fixed]\t\n\t-Window的代码重构。[fixed]\t\n\t+修正一个的内存泄漏。[fixed]\n\t\t-IE7下测试,打开iframe\u002Fdefault.aspx页面,iexplorer占内存68.368M。\n\t\t-内存存在泄漏时,点击iframe\u002Fpage3.aspx页面8次后iexplorer占118.792M内存。\n\t\t-修正后,点击iframe\u002Fpage3.aspx页面8次后iexplorer占76.492M内存。\n\t\t-IE窗口最小化时,IE会自动进行垃圾回收。\n\t\n\t\n\t\n+2008-08-12 v0.4 beta3\n\t-底层的javascript框架Extjs升级为v2.2,Grid的渲染速度有很大提升。[fixed]\n\t-Grid的EnableDelayRender默认为true(如果没有设置Grid的高度或通过布局间接设置高度,则行不可见,可以通过AutoHeight=\"true\"解决)。[fixed]\n\t+页面正在加载的提示尽早的显示出来。[fixed]\n\t\t-首先在执行js来完成页面渲染之前延迟5ms,以便浏览器把当前页面内容显示出来。\n\t\t-加载js脚本的script标签放置在页面的最后,放置加载js而阻塞PageLoading的显示。\n\t\n\t\n\t\n+2008-08-08 v0.4 beta2\n\t-TabStrip延时加载出错。[fixed]\n\t-Window的IFrameUrl处理的BUG,比如Pages_ExtAspNet目录下的页面应该为.\u002FFE_ApplyEditor.aspx或~\u002FPages_ExtAspNet\u002FFE_ApplyEditor.aspx。[fixed]\n\t-Window的WindowPosition=\"Center\"并且Target=\"_parent\",则会JS错误。[fixed]\n\t-实现网报首页下拉菜单和左侧菜单的导航功能。[fixed]\n\t-Window的创建在页面显示后进行,不计算在js渲染时间内。[fixed]\n\t-优化费用申请页面(尽量减少不必要的层次嵌套)。[fixed]\n\t-button_iframe.aspx默认会加载form.aspx页面(Window控件的BUG)。[fixed]\n\t-Window中的保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和Asp.netAjax冲突。[fixed]\n\t-优化\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow的js脚本,减少写到页面的js大小。[fixed]\n\t-加快“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E”按钮\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的速度,使用PageContext.RegisterExclusiveScript(CurrentActiveWindow.GetClosePostBackReference());,示例在(simpleform.aspx)。[fixed]\n\t\n\t\n\t\n+2008-08-05 v0.4 beta1\n\t-DropDownList去除Traditional属性,和传统的Asp.net控件一样不可编辑。[fixed]\n\t-DropDownList增加SelectedText属性(去除了模拟树时通过SelectedItem.Text的多余html字符)。[fixed]\n\t-为了加快渲染速度,去掉一些特效(比如Panel的折叠效果,Grid的拖动列效果等)[feedback:dcding]。[fixed]\n\t-将生成的js对象的名称简单化,这样可以减少生成的js内容,加快页面加载速度(一个典型页面的js由原来的33.0k降低为21.4k)。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中,点击按钮回发然后点击\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮,出现js错误 [feedback:xmzhu]。[fixed]\n\t\t-因为在页面的Page_Load中,if (!IsPostBack){PageContext.RegisterPageStateChangedStartupScript();}通过这样方法向页面注册了一段脚本,但是这段脚本在回发时没有注册到页面,因为js调用此脚本时报错。\n\t\t-一种解决方法是将向页面注册脚本的函数移动到if语句的外面,即每次都向页面注册此脚本。\n\t\t-另一种办法就是在PageManager控件中增加RegisterPageStateChangedScript(向页面注册监视页面中表单内容改变的脚本)的属性(会在每次页面回发(包含ajax回发)时注册脚本)(示例在button_iframe.aspx\u002Fsimpleform.aspx)。\n\t+PageManager控件增加ExecuteOnReadyWhenPostBack属性(示例在onreadyscript.aspx)。[fixed]\n\t\t-这个手工添加onReady函数能够在每次页面回发时都注册脚本(包括Ajax局部回发),这就避免了手工去做的麻烦(已经在网报中遇到这种情况)。\n\t-每个页面必须添加一个PageManager控件,否则会出错,同时去除DesignTimeStyle控件(作为PageManager的属性出现)。[fixed]\n\t-TextField等表单字段增加Readonly属性。[fixed]\n\t+全新设计的IFrame的架构(尽可能和基于MasterPage的架构保持兼容,和Asp.net Ajax保持兼容)。[fixed]\n\t\t-最大的好处是可以减少页面下载完毕后Javascript渲染时间(可以节约一般的渲染时间)。(所有示例在iframe文件夹下)\n\t\t+示例1,通过点击按钮\u003Cem\u003E弹出\u003C\u002Fem\u003EIFrame窗口,可直接\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E父\u003C\u002Fem\u003E页面,也可在\u003Cem\u003E关闭\u003C\u002Fem\u003E后\u003Cem\u003E刷新\u003C\u002Fem\u003E或回发\u003Cem\u003E父\u003C\u002Fem\u003E页面。(default.aspx\u002Fpage2.aspx\u002Fsimpleform.aspx)\n\t\t\t-虽然IFrame和Master两种架构差异迥然,或许你以为需要修改一堆代码来完成这种转换,起初我也是这么认为的,但是现在你所要做的仅仅是为Window控件增加一个属性(Target=\"_parent\"),就完成了两种框架的转换,是不是很酷。\n\t\t\t-显然,控件本身封装了大量的代码,简单来看现在有三个页面(default.aspx(A)\u002Fpage2.aspx(B)\u002Fsimpleform.aspx(C)),其中A包含B页面,当你在B中打开包含有页面C的窗口时,窗口不是在B中打开,而是在A中打开,这样才能保证窗口覆盖整个页面,当你从C中返回需要回发页面B时,却发现取得的是A页面,因为我们窗口是在A页面中创建的。我会通过一篇文章来揭示这一过程,敬请期待。\n\t\t-示例2,Grid中\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Fpage3.aspx\u002Fsimpleform.aspx)\t\n\t\t+示例3,TriggerBox\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。(default.aspx\u002Ftriggerbox.aspx\u002Fsimpleform.aspx)\t\n\t\t\t-在整个页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口或者在当前页面\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口,仅仅设置Window的Target属性即可。\n\t\t-示例4,\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口。\n\t-对整个Examples更新测试。[fixed]\n\t\n\t\n\t\n+2008-07-31 v0.3 beta12\n\t-IE下TabStrip在Ajax回发后不会去掉x-hide-display样式,导致Tab显示为空的BUG。[fixed]\n\t-对TabStrip\u002FPanel\u002FWindow中的IFrame重新设计,如果设置IFrameUrl=\"#\"或者\"about:blank\",则不渲染iframe到页面节点,同时第二次打开Window中的IFrame不会有残影出现。[fixed]\n\t-如果TabStrip的Tab不是激活Tab并且设置了IFrameUrl,则会延迟加载(示例在tabstrip_iframe.aspx)。[fixed]\n\t-Tree控件,点击一个节点自动回发,则当前点击的那个节点的选中状态不会保持的BUG [feedback:zgjiang2]。[fixed]\n\t+规范\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe中\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E图标的调用方式)(示例在grid_iframe.aspx\u002Fsimpleform.aspx)。[fixed]\n\t\t-内部实现上,点击“保存并\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮”,可以将\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再\u003Cem\u003E关闭\u003C\u002Fem\u003E窗口。\n\t-参照Yslow的评分规则,将JS文件引用由head移动到body中。[fixed]\n\t-Firefox下,如果页面太长会出滚动条,原来在ViewPort样式中有body{overflow:hidden;}。[fixed]\n\t+IFrame内的页面宽度和高度会自动设置(是不是还在为1px\u002F2px的白边而烦恼,现在不用了:-)(示例在iframe_autosize.aspx\u002Fsimpleform.aspx\u002Fsimpleform2.aspx)[fixed]\n\t\t-增加PageManager控件(需要指定AutoSizePanelID,即需要设置宽度和高度为整个页面的宽度和高度的Panel),HideScrollbar属性用于隐藏滚动条(IE\u002FFirefox)。\n\t\n\t\n\t\n+2008-07-24 v0.3 beta11\n\t-web.config配置信息中MessageTarget改名为FormMessageTarget,增加FormOffsetRight配置项,用来定义全局表单字段距离右边界的宽度,同时每个表单字段都增加OffsetRight属性 [feedback:jima]。[fixed]\n\t-Window在回发时设置的Title不起作用的BUG。[fixed]\n\t-增加Image控件 [feedback:jima]。[fixed]\n\t-Tree控件,如果一个节点不是叶\u003Cem\u003E子\u003C\u002Fem\u003E节点并且没有\u003Cem\u003E子\u003C\u002Fem\u003E节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]\n\t-Image增加ToolTipTitle\u002FToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工\u003Cem\u003E关闭\u003C\u002Fem\u003E提示信息(示例在hyperlink.aspx)。[fixed]\n\t-去掉DropDownList控件的Text属性(强制性),可以通过设置SelectedValue来设置选中哪一项 [feedback:xmzhu]。[fixed]\n\t-过滤提示消息中的换行符(转换为),否则提示信息可能导致页面渲染错误 [feedback:dcding]。[fixed]\n\t\n\t\n\t\n+2008-07-23 v0.3 beta10\n\t+完善Tree控件。[fixed]\n\t\t-如何将数据库中的数据绑定到Tree(示例在tree2_bind_database.aspx)。\n\t\t-ajax加载树节点,放在UpdatePanel中才有ajax的效果(示例在tree2_ajax.aspx)。\n\t\t-更改TreeNode的ID为NodeId,否则两个树中不能有相同ID的TreeNode,这是不合理的。\n\t-Grid的GridColumn的ID改名成ColumnId,否则同一个页面放置两个Grid,它们的GridColumn的ID不能同名,这是不合理的。注意需要更新以前的代码![fixed]\n\t-Grid所有类型的列增加DataTooltipField\u002FDataTooltipFormatString两个字段,以显示ToolTip(示例在grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-22 v0.3 beta9\n\t+IE6下,左侧导航链接的选中样式,以及鼠标移上去和移开的样式不对。[fixed]\n\t\t-发现原来ie6不能正确解析li的高度,必须手工设置才行(style=\"height:20px;\")。\n\t+IE6\u002FIE7下,模拟树的下拉列表如果文字长度太长,则显示的文字会换行,导致错位。[fixed]\n\t\t-虽然最后未能解决##差旅交通费在IE和Firefox下显示的不同效果。\n\t\t-但是通过用来代替,从而实现FF和IE下样式的统一。\n\t\t-刚看到old9的解决方案:把“差旅交通费”改成“差旅交通费”,在IE下和FF下的都不换行,:-)\n\t-LinkButton增加OnClick事件 [feedback:huihuang]。[fixed]\n\t-Window通过设置IFrameUrl和Popup不起作用的BUG。[feedback:xmzhu]。[fixed]\n\t+增加树控件(Tree)(示例在tree2.aspx)。[fixed]\n\t\t-可以在回发时维持树的状态(选中行,折叠\u002F展开,CheckBox)。\n\t\t-可以通过Inline的方式添加树节点,也可以绑定到XmlDocument\u002FXmlDataSource\u002FSiteMap。\n\t\t-点击树节点可以链接到页面,也可以引发PostBack事件,可以添加自定义脚本。\n\t\n\t\n\t\n+2008-07-16 v0.3 beta8\n\t+ContentPanel中放置ExtAspNet控件,则渲染时会出现各种\u003Cem\u003E问题\u003C\u002Fem\u003E,比如下拉列表显示样式出错,Grid没了滚动条等等。[fixed]\n\t\t-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会出现各种\u003Cem\u003E问题\u003C\u002Fem\u003E(\u003Cem\u003E主\u003C\u002Fem\u003E要是大小不对)。\n\t\t 必须设置容器为visibility='hidden',然后在渲染完成后显示容器。\n\t\t-现在Grid只要显示的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会显示滚动条。\n\t+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]\n\t\t-调试相当困难,如果你有过在IE下通过alert发现\u003Cem\u003E问题\u003C\u002Fem\u003E的经历,你就能明白。\n\t\t-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且\u003Cem\u003E主\u003C\u002Fem\u003E内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了IE6下的这个BUG:\n\t\t 在MasterPage的onReady函数中,首先修正内容区域的宽度(region3.setWidth(pageLayout1.getSize().width - region2.getSize().width - 5);region3.doLayout();),然后修正页面中所有表单的宽度(box_fixFormWidthInIE6();):\n\t\t 示例在 Site.Master 页面。\n\t+集成的AspNetAjax有一个很大的BUG,只要你在页面上进行过ajax操作,当改变窗口大小时你会惊讶的发现内容区域的内容全部为空了![fixed]\n\t\t-解决方法相当怪异,经过一个下午的不断尝试,终于用一个怪异的方法解决(box.{0}.setSize(box.{0}.getSize());box.{0}.doLayout();),\n\t\t 这样的代码让我想起\u003Cem\u003E刷新\u003C\u002Fem\u003E窗口时那个方法(window.location.href=window.location.href;),不管怎么说,我对能很好的解决这个重大的BUG很是欣喜。\n\t\n\t\n\t\n+2008-07-14 v0.3 beta6\n\t-增加FlashObject控件。[fixed]\n\t-PageLoading增加EnableFadeOut属性(默认false),可以启用淡出效果。[fixed]\n\t-Accordion选中样式微调。[fixed]\n\t-预加载Form表单出错时提示信息的背景图片。[fixed]\n\t+Grid增加EnableDelayRender属性(默认false),可以加快页面的渲染速度(一个典型的20个记录的页面,可提前0.7s-1s显示出来)。[fixed]\n\t\t-因为延迟加载数据不会改变Grid的大小,所以对于非布局内或不设定高度宽度的Grid,需要设置\"EnableDelayRender=false\"。\n\t-改变Grid中静态的CheckBoxField图片。[fixed]\n\t-TabStrip增加TabIndexChanged事件,同时Tab增加EnablePostBack,可以在点击一个Tab时引起回发事件。这在延迟加载Tab的内容非常有用。(示例在tabstrip.aspx)[fixed]\n\t\n\t\n\t\n+2008-07-12 v0.3 beta5\n\t-页面菜单Toolbar的分割符和背景不相融合。[fixed]\n\t-表单字段之间可以比较大小,比如NumberBox可以和Label比较大小,同时增加CompareType,来指定比较的类型(示例在form_compare.aspx)。[fixed]\n\t\t-如果是同种类型的表单字段,不需要指定CompareType,比如两个NumberBox比较值的大小不需要指定CompareType,而一个NumberBox和TextBox比较大小需要指定CompareType。\n\t+如果在编辑页面使用AspNetAjax,则不能在回发时\u003Cem\u003E关闭\u003C\u002Fem\u003E当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx\u002Fajax_editor.aspx)。[fixed]\n\t\t-这是由于ajax后执行的javascript中不能有return false语句。\n\t+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]\n\t\t-在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。\n\t-\u003Cem\u003E弹出\u003C\u002Fem\u003EWindow默认显示的错误页面,解决方法在当前目录添加一个空的html页面,然后把Window控件的IFrameUrl指向这个页面而不是\"#\"。[fixed]\n\t+\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口中的\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口的如果内容发生变化,则点击右上角的\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮时会有提示用户先保存的对话框,但是这个对话框的被第二个\u003Cem\u003E弹出\u003C\u002Fem\u003E窗口覆盖了 [feedback:xmzhu]。[fixed]\n\t\t-原来的调用方法太麻烦(见示例中alert\\alert_1.aspx和alert\\alert_2.aspx,总计 6 行代码),现在只需要 3 行代码就OK了。\n\t-点击提交按钮后变成灰色不可再次点击(示例在button_click_gray.aspx)[feedback:jima]。[fixed]\n\t+增加Menu、MenuText、MenuSeparator、MenuButton、MenuHyperLink控件,用于按钮的下拉菜单(示例在button_menu.aspx)。[fixed]\n\t-增加SplitButton控件。[fixed]\n\t\n\t\n\t\n+2008-07-09 v0.3 beta4\n\t-DataPicker默认的日期格式为(yyyy-MM-dd)。[fixed]\n\t+Form表单字段(TextBox,DropDownList...)之间可以比较大小 [feedback:huihuang]。[fixed]\n\t\t-增加ControlToCompare\u002FValueToCompare\u002FCompareOperator\u002FCompareMessage四个属性,示例在form_compare.aspx。\n\t+TabStrip中放置IFrame会出现渲染错误 (示例在tabstrip_iframe.aspx)[feedback:jima]。[fixed]\n\t\t-特殊处理,拥有IFrame的Tab如果不是激活Tab,则不设置Url,只有在激活时才设置Url。\n\t-RadioButtonList增加AutoPostBack属性(示例在radio.aspx) [feedback:xmzhu]。[fixed]\n\t-FormRow可以设置各列的宽度百分比 (示例在form_columnwidths.aspx)[feedback:jima]。[fixed]\n\t+表单字段Enable=false时显示颜色太浅 [feedback:jima]。[fixed]\n\t\t-覆盖缺省样式的.x-item-disabled,设置不透明。\n\t\n\t\n\t\n+2008-07-08 v0.3 beta3\n\t-Grid没有数据,向后翻页按钮可以点击的BUG [feedback:huihuang]。[fixed]\n\t+增加HiddenField控件。[fixed]\n\t\t-其实用TextBox也能模拟HiddenField的行为,只需要设置CssStyle=\"display:none;\"即可。\n\t+TriggerBox 如果 EnableTextBox = true,则不能将Text回发(这是html的限制)。[fixed]\n\t\t-最后的解决方案居然是设置 readonly=true,同时更改属性为 Readonly(示例在textbox2.aspx)。\n\t-模拟树的下拉列表在失去焦点后显示的文字不对的BUG。[fixed]\n\t+控制下拉列表某些项不可以选择(示例在dropdownlist2.aspx)。[fixed]\n\t\t-增加 DataEnableSelectField 属性,不可选择的项变灰,并且鼠标经过时没有样式。\n\t-LinkButton和Grid的LinkButtonField增加Enable属性(示例在hyperlink.aspx和grid.aspx)。[fixed]\n\t\n\t\n\t\n+2008-07-07 v0.3 beta2\n\t+增加UpdatePanelConnector控件,支持在布局构建的页面使用Asp.net Ajax。[fixed]\n\t\t-使用UpdatePanelConnector有一个要求:ContentTemplate下只能有一个\u003Cem\u003E子\u003C\u002Fem\u003E节点,比如box:Panel。\n\t\t-示例在ajax3.aspx\u002Fcontent_page4.aspx。\n\t\t-示例content_page3.aspx中,点击“Ajax查询”按钮和\u003Cem\u003E关闭\u003C\u002Fem\u003E\u003Cem\u003E弹出\u003C\u002Fem\u003E的窗口(点击右上角的叉)都引发异步更新。\n\t \n\t \n\t\n+2008-07-03 v0.3 beta1\n\t+容器控件的AutoHeight\u002FAutoWidth默认为false。[fixed]\n\t\t-使用GroupPanel的地方需要手工添加AutoHeight=\"true\"属性。\n\t+增加UserControlConnector,可以在其中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t-也可以在ContentPanel中放置用户控件,注意两者的区别。\n\t+增加ContentPlaceHolderConnector,替换原来Region的ContentPlaceHolderId属性(示例在Site.master)。[fixed]\n\t+支持Asp.net ajax异步加载。[fixed]\n\t\t-有很大局限性,只能在ContentPanel中使用,示例在ajax1.aspx\u002Fcontent_ajax2.aspx中。\n\t\t-对于使用布局构建的页面(比如content_page1.aspx)还不能使用Asp.net ajax,因为页面是整体渲染的,先放弃。\n\t\n\t\n\t\n+2008-07-02 v0.2 beta12\n\t+\u003Cem\u003E关闭\u003C\u002Fem\u003E前提示当前页面已经被修改(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-支持Iframe内按钮和window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮。\n\t\t-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。\n\t+iframe中的alert\u002Fconfirm要覆盖整个\u003Cem\u003E父\u003C\u002Fem\u003E页面,而不仅仅是iframe页面。[fixed]\n\t\t-在Firefox下还有\u003Cem\u003E问题\u003C\u002Fem\u003E。[fix pending]\n\t+排序时在标题栏显示排序箭头,可以排序的列标题光标为手形(示例在grid_sorting.aspx)。[fixed]\n\t\t-可以通过设置Grid1.CurrentSortColumnIndex = 0;来强制某列显示排序箭头。\n\t\t-可以通过 Grid1.Columns[Grid1.CurrentSortColumnIndex].SortExpression 的方式取得当前Grid的排序表达式。\n\t+HyperLinkField\u002FWindowField的链接地址支持服务器端格式(即是~\u002Falert.aspx)。[fixed]\n\t-TabStrip的Tab中如果放置ContentPanel,则内容渲染位置不正确。[fixed]\n\t-可以在ContentPanel中放置用户控件(示例在page_usercontrol.aspx)。[fixed]\n\t\t\n\t\n\t\n+2008-06-30 v0.2 beta11\n\t-增加TwinTriggerBox控件(示例在twintriggerbox.aspx)。[fixed]\n\t-Grid的数据库分页需要增加属性IsDatabasePaging=true,以便普通分页和数据库分页,否则在添加删除记录时总记录数不会变化 [feedback:zgjiang2]。[fixed]\n\t-\u003Cem\u003E关闭\u003C\u002Fem\u003EWindow时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]\n\t-如果表单验证不通过,则需要\u003Cem\u003E弹出\u003C\u002Fem\u003E对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]\n\t+页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx\u002Fsimpleform.aspx)[fixed]\n\t\t-目前还不支持Window右上角\u003Cem\u003E关闭\u003C\u002Fem\u003E按钮的提示保存功能。\n\t-Master\u002FContent的内容页中Grid的Sort事件不起作用的BUG [feedback:zgjiang2]。[fixed]\n\t-Grid中的LinkButtonField设置ConfirmText会出错 [feedback:huihuang]。[fixed]\n\t-增加静态类Confirm。[fixed]\n\t\n\t\n\t\n+2008-06-27 v0.2 beta10\n\t+Grid完善。[fixed]\n\t\t-CheckBoxField在回发时不能保持状态的BUG (已经更新了grid_checkboxfield.aspx示例)。\n\t\t-Grid中模拟树显示,GridColumn增加DataSimulateTreeLevelField属性(一个Grid只能有一个Column指定此属性),指定此列模拟树显示时的层次字段(0,1,2,...)(示例在grid_simulate_tree.aspx)。\n\t\t-切换分页时清空选中的值 [feedback:jqpeng]。\n\t\t-增加PreRowDataBound事件,可以在数据绑定之前设置某列的属性 [feedback:xmzhu] (示例在grid_prerowdatabound.aspx)。\n\t-DropDownList模拟树的方式显示,增加DataSimulateTreeLevelField属性,使用方法和Grid的类似(示例在dropdownlist_simulate_tree.aspx)。\n\t\n\t\n\t\n+2008-06-25 v0.2 beta9\n\t+Window\u003Cem\u003E窗体\u003C\u002Fem\u003E中的","createTime":"2010-09-29 14:37:08","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"4\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fwode2600\u002F2726130\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-4-2726130-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"},{"url":"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fcq_bmy\u002F270569","title":"移动密码箱071026","desc":"手机上的密码管理程序。\u003Cbr\u003E\u003Cbr\u003E下载:\u003Cbr\u003Epwd.rar(071026) v0.7.2.3\u003Cbr\u003E a).解决当按钮用来作输入用时按\"C\"键清除按钮文本的\u003Cem\u003E刷新\u003C\u002Fem\u003E\u003Cem\u003E问题\u003C\u002Fem\u003E;\u003Cbr\u003E b).修正更改密码输入框标题;\u003Cbr\u003E c).树组件增加根图标;\u003Cbr\u003E d).完成数据交换设置功能.\u003Cbr\u003E\u003Cbr\u003Epwd.rar(071024) v0.7.2.2\u003Cbr\u003E a).增加\"C\"键删除分类或项目功能;\u003Cbr\u003E b).当按钮用来作输入用时,按\"C\"键可清除按钮文本,按数字键可进入文本输入状态;\u003Cbr\u003E c).发送消息时,内容不包括密码并且当备注为空时去掉\"备注:\",初始化\u003Cem\u003E窗体\u003C\u002Fem\u003E后自动进入发送目标输入状态;\u003Cbr\u003E d).帮助对话框增加\"下页\"功能.\u003Cbr\u003E\u003Cbr\u003Epwd.rar(071023) v0.7.2.1\u003Cbr\u003E a).解决新建项目无关联菜单BUG;\u003Cbr\u003E b).\u003Cem\u003E主\u003C\u002Fem\u003E界面状态下按返回键退出程序;\u003Cbr\u003E c).增加锁定时应用程序最小化功能;\u003Cbr\u003E d).增加定时锁定功能.\u003Cbr\u003E\u003Cbr\u003Epwd.rar(071022) v0.7.2\u003Cbr\u003E\u003Cbr\u003E操作手册\u003Cbr\u003E1.系统密码\u003Cbr\u003E 1).第一次进入本系统时系统密码为空,登录后请立即修改密码;\u003Cbr\u003E 2).数据交换功能中,系统导出数据到邮箱时以当前系统密码作为数据交换包文件密码;\u003Cbr\u003E 3).系统琐定后解锁所需要的密码即为该密码.\u003Cbr\u003E2.分类节点的展开与收缩\u003Cbr\u003E 1).选择分类后按摇按选择键使分类在展开与收缩状态间切换;\u003Cbr\u003E 2).手写笔点击分类前+\u002F-符号可展开\u002F收缩已收缩\u002F展开的分类节点;\u003Cbr\u003E 3).选择分类后,按摇按左向键收缩已展开的分类,按摇按右向键展开已收缩的分类.\u003Cbr\u003E3.项目明细信息查看途径 \u003Cbr\u003E 1).选择项目后按摇按选择键使项目进入明细信息显示状态,当再次按下该键后切换到正常状态;\u003Cbr\u003E 2).手写笔点击项目,手写笔离开后项目从明细信息状态自动切换到正常状态;\u003Cbr\u003E 3).按左软键\"编辑项目\"\u003Cem\u003E弹出\u003C\u002Fem\u003E项目编辑对话框.\u003Cbr\u003E4.移动分类或项目\u003Cbr\u003E 1).层内节点可进行上下位置移动;\u003Cbr\u003E 2).节点左移表示将节点移动到上一层即\u003Cem\u003E父\u003C\u002Fem\u003E节点层,节点右移表示将节点移动到上一兄弟节点的\u003Cem\u003E子\u003C\u002Fem\u003E节点层;\u003Cbr\u003E 3).在移动分类或项目状态下,按\"*a\u002FA\"后摇杆移动切换为密码树节点浏览\u003Cem\u003E模式\u003C\u002Fem\u003E,此时并不实质性地移动节点,再次按\"*a\u002FA\"之后恢复移动状态.\u003Cbr\u003E5.发送消息\u003Cbr\u003E 即向选定的联系人或电话号码发送所选择的项目信息.\u003Cbr\u003E6.数据交换\u003Cbr\u003E 1).设置\u003Cbr\u003E 程序利用因特网上的邮件服务器进行数据交换,顺利使用该功能的前提条件是你必须设置好你的邮箱帐号、POP3服务器及SMTP服务器.\u003Cbr\u003E 2).导出\u003Cbr\u003E 将选择的信息打包成加密数据文件并存储于你提供的邮箱地址当中,以供\"移动密码箱\u002FPC密码箱\"程序导入数据时使用.\u003Cbr\u003E 3).导入\u003Cbr\u003E 从你提供的邮箱地址选择\"移动密码箱\u002FPC密码箱\"程序导出数据的文件,下载后选择要导入的信息并选择要导入的\u003Cbr\u003E位置后,将进行导入处理.\u003Cbr\u003E7.更多帮助请访问\"关于\"页面中的Blog地址. \u003Cbr\u003Ehttp:\u002F\u002Fblog.csdn.net\u002Fcq_bmy\u002Farchive\u002F2007\u002F10\u002F22\u002F1836430.aspx","createTime":"2007-10-26 09:54:38","dataReportQuery":"spm=1035.2023.3001.6557&utm_medium=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default&depth_1-utm_source=distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default","dataReportClick":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fcq_bmy\u002F270569\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","dataReportView":"{\"mod\":\"popu_645\",\"index\":\"5\",\"dest\":\"https:\u002F\u002Fdownload.csdn.net\u002Fdownload\u002Fcq_bmy\u002F270569\",\"strategy\":\"2~default~OPENSEARCH~Rate\",\"extra\":\"{\\\"utm_medium\\\":\\\"distribute.pc_relevant_bbs_down_v2.none-task-download-2~default~OPENSEARCH~Rate-5-270569-bbs-200016363.264^v3^pc_relevant_bbs_down_v2_default\\\",\\\"dist_request_id\\\":\\\"1713876292929_75856\\\"}\",\"spm\":\"1035.2023.3001.6557\"}","type":"download"}],"staffDOList":[{"id":null,"communityId":211,"username":"community_93","userNickname":"ASP.NET","roleCode":1,"status":1,"createUsername":"","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2021-05-12 18:07:05","updateTime":"2021-05-12 18:07:05","lastLoginTime":"2021-05-12 18:07:05"},{"id":null,"communityId":211,"username":"dotnetconf","userNickname":".Net开发者社区","roleCode":2,"status":1,"createUsername":"community_93","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Fdefault.jpg!1","createTime":"2022-12-01 00:26:57","updateTime":"2022-12-01 00:26:57","lastLoginTime":"2022-12-01 00:26:57"},{"id":null,"communityId":211,"username":"weixin_41960540","userNickname":"R小R","roleCode":2,"status":1,"createUsername":"community_93","updateUsername":"","avatarUrl":"https:\u002F\u002Fprofile-avatar.csdnimg.cn\u002Faa17748a52c84d88ba031f9895a4ea32_weixin_41960540.jpg!1","createTime":"2022-04-16 21:18:57","updateTime":"2022-04-16 21:18:57","lastLoginTime":"2022-04-16 21:18:57"}],"communityConfig":{"scoreType":0,"scoreItems":{"0":"给本帖投票","1":"锋芒小试,眼前一亮","2":"潜力巨大,未来可期","3":"持续贡献,值得关注","4":"成绩优异,大力学习","5":"贡献巨大,全力支持"}},"shouldApply":false,"subscribeAble":false,"operatorAble":false,"commentNeedJoinCommunity":false},"default2014LiveRoom":[{"itemType":"","description":"高峰论坛","title":"2022 技术英雄会","url":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002Fcsdnnews\u002FfsNR5NWp?chat=1&title=1&footer=1","images":["https:\u002F\u002Fimg-home.csdnimg.cn\u002Fimages\u002F20221016050009.png"],"ext":{"time":"9:00","liveRoomUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fcsdnnews\u002FfsNR5NWp"}}]},"isGooglebot":false,"canonical":"https:\u002F\u002Fwww.csdn.net\u002Ftopics\u002F200016363","openUrl":"","isApp":false,"localUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F200016363","typeId":"20680","hasIndex":false},"CFG":{"ALIPLAYER_VERSION":"v4","ALIPLAYER_H5_VERSION":"mobile_v1","ENV":"prod","ROOT_URL":"https:\u002F\u002Fcms-mall.csdn.net\u002F","VUE_APP_API_URL_SERVER":"http:\u002F\u002Fcms-community-api.internal.csdn.net\u002F","VUE_APP_API_URL":"https:\u002F\u002Fcms-api.csdn.net\u002F","LOGIN_URL":"https:\u002F\u002Fpassport.csdn.net\u002Faccount\u002Flogin","VUE_APP_DOMAIN_SKILL":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_DOMAIN_PATH":"https:\u002F\u002Fedu.csdn.net\u002F","VUE_APP_COMMUNITY_API_URL":"https:\u002F\u002Fcommunity-api.csdn.net\u002F","VUE_APP_CCLOUD_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fcommunity-cloud\u002Fv1\u002F","VUE_APP_SKILL_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fskilltree\u002Fapi\u002F","VUE_APP_SEARCH_PLUGIN_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002Fsearchplugin\u002F","VUE_APP_COMMUNITY_ASK_API_URL":"https:\u002F\u002Fmp-ask.csdn.net\u002F","VUE_APP_ME_URL":"https:\u002F\u002Fme.csdn.net\u002F","VUE_APP_CCLOUD_RESUME":"https:\u002F\u002Fbizapi.csdn.net\u002Fjob-api\u002F","VUE_APP_CCLOUD_MAIN":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_UC":"https:\u002F\u002Fwww.csdn.net\u002F","VUE_APP_CCLOUD_BZP_API_URL":"https:\u002F\u002Fbizapi.csdn.net\u002F","VUE_APP_CCLOUD_START_API_URL":"https:\u002F\u002Fmp-action.csdn.net\u002F","VUE_APP_PRACTIVE":"https:\u002F\u002Fbizapi.csdn.net\u002Fdaily-practice\u002F","VUE_APP_CCLOUD_HOSTPATH":"https:\u002F\u002Fbbs.csdn.net\u002F"},"queries":{"pageId":[],"domain":["ccloud.csdn.net\u002Fccloud\u002Fdetail1"],"id":["200016363"],"deviceType":"pc","isSpider":"","hostname":["bbs.csdn.net"]},"basePath":"bbs.csdn.net\u002Fccloud\u002Ftopics\u002F200016363","hrefUrl":"https:\u002F\u002Fbbs.csdn.net\u002Ftopics\u002F200016363","active":0,"navBarFixed":false,"title":"主窗体弹出模式子窗体,关闭模式子窗体并刷新父窗体的问题.","isLive":false,"contentType":{"text":"text","picture":"picture","link":"link","video":"video","vote":"vote","live":"live","blog":"blog","long_text":"long_text","task_text":"task_text"},"liveUrl":"https:\u002F\u002Flive.csdn.net\u002Froom\u002Fiframe\u002F","spmExtra":{"id":211,"topicId":200016363},"keywords":"","description":"以下内容是CSDN社区关于主窗体弹出模式子窗体,关闭模式子窗体并刷新父窗体的问题.相关内容,如果想了解更多关于.NET社区社区其他内容,请访问CSDN社区。"};</script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/runtime.3e5c09eb.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/common.7672e502.js"></script><script type="text/javascript" src="https://csdnimg.cn/release/cmsfe/public/js/chunk/tpl/ccloud-detail/index.243a94d0.js"></script></body> <!----> <script> window.csdn.sideToolbar = { options: { qr: { isShow: true, data: [ { imgSrc: 'https://csdnimg.cn/release/cmsfe/public/img/ewm.9010d6e5.png', desc: "关注公众号" }, ] }, help: { isShow: false, }, contentEl: document.getElementsByClassName("cloud-maintainer")[0] }, }; </script> <script src="https://g.csdnimg.cn/side-toolbar/2.9/side-toolbar.js" ></script> <!----> <!----> <!----> <script src="https://csdnimg.cn/release/blog_editor_html/release1.7.5/ckeditor/plugins/codesnippet/lib/highlight/highlight.pack.js"></script> <script src="https://g.csdnimg.cn/lib/editor-page-detail/v2.2.0/js/runDetail.min.js"></script> <!----> <!----> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/collection-box/2.1.0/collection-box.js"></script> <!----> <!----> <!----> <!----> <script src="https://g.csdnimg.cn/common/csdn-cert/csdn-cert.js"></script> <!----></html>