在写一个简单的html文件,实现点击图片进行效果切换时,出现了部分浏览器无反应的情况。
其中,IE浏览器能很好地进行相应,且能实现想要的效果。但是Chorme和猎豹都出现了无法切换的情况,在核对代码无误,且将charset设置为UTF-8后,仍然出现上述问题。
后将所有含有中文的图片名称修改为英文后,问题得以解决
。
在写一个简单的html文件,实现点击图片进行效果切换时,出现了部分浏览器无反应的情况。其中,IE浏览器能很好地进行相应,且能实现想要的效果。但是Chorme和猎豹都出现了无法切换的情况,在核对代码无误,且将charset设置为UTF-8后,仍然出现上述问题。后将所有含有中文的图片名称修改为英文后,问题得以解决。...
网际畅游 (MyIE)是一款精巧的基于IE为内核(需IE5.0或IE5.5的支持),在同一窗口可以打开多个页面,且没有数量限制,对系统资源占有率较少的
浏览器
。
网际畅游 (MyIE)是一个完全免费的软件,你可以免费使用,并且可以以任何形式传播该软件。
支持Win9x/Win NT/Win2000/Win XP。
MyIE属于免费的绿色软件,没有广告条,无需安装,解压到文件夹后可以直接使用。
现有主要功能(MyIE除IE5.0标准功能外,有自己的特色功能)
浏览功能:
多窗口浏览:你可以在MyIE内同时打开多个页面进行浏览,但对系统资源的占用率极少。
标签栏:当你打开多个网页时,却只使用一个窗口,你可以通过单击标签快速方便地切换网页。标签的位置可以在上部,也可在下部。(MyIE选项对话框/标签/标签位置/上部或下部)
Tips:使用Ctrl-Tab可快速切换标签。
标签栏有三种形式:单行, 多行, 自适应。自适应标签会根据标签数量自动调整标签的宽度,使他们尽量保持在一行内。
图标化的进度
显示
: 在浏览时每个标签旁都有一个小图标来
显示
该页当前的下载进度。 当图标为白色时进度在0%-25%之间,当蓝色区域占四分之一时进度在25%-50%之间,以此类推。当图标消失时说明该页已经下载完毕了。红色图标说明下载完毕但你尚未看过。
关闭广告窗口:在你浏览网站时,你是否会经常遇到一些不请自来的广告窗口?现在你只要点击鼠标右键将不喜欢的窗口列入“加入窗口过滤器”来节省你上网的时间。 你也可以将某个Frame或IFrame的URL加入窗口过滤器,这个Frame或IFrame以后就不会下载了。
使用*过滤窗口:在过滤广告窗口时可以在URL中使用*来过滤一批相似的地址。但你可不要用*把所有的窗口都过滤掉哦!
使用自动窗口过滤:在编辑窗口过滤器中选择使用自动窗口过滤,MyIE会自动禁止那些不必要的广告窗口而不必把URL加入过滤列表中。每个窗口也可分别设置是否使用自动过滤弹出窗口功能而不影响其他窗口。
过滤重复窗口:在编辑窗口过滤器中选择过滤重复窗口,MyIE会自动重用已打开的相同URL的窗口,避免资源浪费。
下载控制:你可以为每个页面设置是否需要在网页中载入
图片
,声音,Script文件, Java Applet, ActiveX。你可以关闭
图片
来加快下载的速度。
脱机浏览:使用文件/脱机工作 可以在未联网的
情况
下浏览以前访问过的历史网页。
保存网页:MyIE可以保存网页中的所有内容, 也可以以原文件名保存网页的
HTML
代码(Alt-S),给喜欢简洁的网友。
快速保存:快速地保存浏览的网页,包括其中的
图片
等。
自动保存:类似于保存功能,但页面将自动保存到预先设定好的目录中而不再需要保存对话框。自动保存有4种方式可以选择:WEB页面为
html
, WEB页面为mht, 仅
HTML
,快速保存。可以在Myie选项的保存页面中选择默认的方式。同时还可以选择以站点分类保存到不同目录。页面将保存在以站点主名
命名
的子目录中。预先设定的保存目录也可在Myie选项的保存页面中设置。
域名完成:在地址栏输入网址时可以用Ctrl+Enter, Shift+Enter, Ctrl+Shift+Enter来帮你完成这个网址。他会为你加上http://www.及相应的后缀如:.com, .net, .com.cn。你可以在MyIE选项中修改它们。
一次打开窗口的最大值:在 MyIE选项中可设置这个值, 他规定了在批量打开窗口时, 每次的最大值。可根据你的习惯和电脑配置来调整,从而避免因失误而打开过多的窗口。
不弹出脚本错误提示框:在浏览某些网页
时会
出现
脚本错误,要避免这个问题可以在MyIE选项中选中“不弹出脚本错误对话框”.
本地文件浏览:在工具栏上选择文件按钮,会
出现
一个类似文件管理器的窗口,其中列出了你的目录和文件, 双击文件即可进行浏览了。你可改变下部的文件类型列表以
显示
不同的文件类型。改变后可按旁边的刷新按钮刷新
显示
。如需禁止该功能可在myie.ini文件的Settings中加入Secure=1即可。
浏览用户资源:在工具栏上选择用户资源按钮,将
出现
用户资源窗口, 缺省的包括MyIE最新版本信息,股票查询,网络字典,免费邮件。该窗口的内容存放于resource.htm文件中, 大家可以修改他,放入你需要的网上资源。
自动滚屏:使用自动滚屏可帮助你浏览小说文章等较长的页面,滚屏适用于没有框架的网页。滚屏的速度有高中低三种,如果你觉得太快或太慢可以在ini文件中的[settings]下加入SpeedSeed = nn,nn为一数字,缺省为100。 越小则速度越快。建议不要小于50。
浏览模式:浏览模式为MyIE中的设置的一种组合,大家可在不同的时候使用不同的模式。目前设有自定义,标准,和新闻三种。使用中对设置的修改会自动保存在自定义模式中。
设置页面背景色:可改变页面的背景色方便阅读长文章。
为所有窗口设置背景色:可为所有的窗口设置当前的默认背景色。
自动设背景色:页面下载后自动设置为预设的背景色。
发送:可把页面或链接通过EMAIL发送给你的朋友。
活动标题图标:当MyIE正在下载页面时MyIE的窗口图标会持续转动。
支持下载工具。可以在MyIE选项中选择所使用的下载工具,这样当点击下载文件时可以调用该工具来下载。目前内置了NetAnts和FlashGet。
鼠标控制功能:可通过在页面空白处按住右键并移动鼠标来实现一些功能。目前有:
向下: 打开新窗口
向左: 后退
向右: 前进
先上再下: 刷新
右左右 或 先下再右: 关闭窗口
窗口管理:
激活新窗口:当你选择了激活新窗口, 每当新建一个窗口它就会成为当前的活动窗口。 否则新窗口将不会被激活。 当你在浏览新闻站点时就可以一次点好想要看的所有新闻, 它们将会在后面的窗口中依次打开。
打开新窗口:可选择在输入新地址,点收藏夹,历史,本地文件,页面内链接时打开新窗口而不影响当前窗口。
多窗口同时浏览:选择窗口/垂直平铺 可使你打开的所有浏览窗口平铺在主窗口内,使你一览无遗。
新建窗口: MyIE有4种新建窗口的方法, 新建空白窗口, 新建主页, 新建当前页, 从剪贴板新建。可在MyIE选项中选择默认的新建方法。
锁定窗口: 在标签上点右键, 选锁定该标签可锁定一个窗口。 当一个窗口被锁定,它就不会在关闭所有窗口时被关闭。且点链接
时会
在新窗口中打开。
关闭所有窗口: 可以关闭除了锁定窗口之外的所有窗口。
全屏浏览:使用全屏浏览(F11)将使MyIE占据整个桌面, 提供最大的浏览空间。
自动重用空窗口:当你在新窗口中打开网页的时候MyIE会在自动重用已存在的空窗口, 以节约系统的资源。
在新窗口中打开网页:如果你没有使用始终打开新窗口的功能但想在新窗口中打开一个网页,可在点收藏夹,链接,和历史中的网址时按住Ctrl键,则该网页将在新窗口中打开。
顺序切换窗口:当你打开了一个以上的窗口时,你可以用右上角的两个箭头按钮来顺序的切换当前窗口。 你还可用快捷键Ctrl+ <- 和Ctrl+ -> 或F2, F3来作顺序的切换。 同时Ctrl+Tab 仍可以默认的窗口次序切换当前窗口。快捷键F2 = Ctrl <-, F3 = Ctrl ->, Ctrl-1...Ctrl-9,Ctrl-0 代表窗口1 到 窗口10.
顺序激活窗口:当你关闭一个窗口的时候,下一个被激活的不一定是他旁边的窗口,有
时会
给浏览带来麻烦。 现在使用 MyIE选项/窗口/激活顺序 就可以解决这个问题。使用 向前 可在关闭当前窗口后激活他前面的一个窗口。使用 向后 可在关闭当前窗口后激活他后面的一个窗口。
为窗口改名:右击窗口标签,选择设置固定标签名。 你可输入一个新名字,他将代替原来的窗口名称。 若要恢复原名,只要删掉固定名字即可。
窗口保护:右击窗口标签,选择保护该窗口。 你可输入保护口令,以后若要访问该窗口必须有口令才行。
隐藏MyIE:用Alt+` 可隐藏或调出MyIE。
拖动链接到地址栏:可将页面上的连接拖动到地址栏上,从而在新窗口中打开这个连接。
拖动链接到标签栏:可将页面上的连接拖动到标签栏上的某个标签上, 在这个指定的窗口中打开链接
设置双击和中键击标签的动作:可在Myie选项的标签页面中为双击和中键击标签选择对应的功能。 目前可选的功能有:关闭窗口,保存当前页面,保存
HTML
,自动保存。
页面自动刷新功能,可定时刷新非活动窗口,如果是当前窗口则不刷新。刷新频率可在工具菜单或标签的右键菜单中设置。
撤消关闭窗口的列表。可撤消最近关闭的多个窗口。
拖动链接在新窗口中打开。通过拖动一个链接就可以将这个链接在新窗口中打开。
拖动标签:可用鼠标左键拖动标签重新排列标签的位置。
代理服务器:
使用代理服务器:代理服务器可使你突破网络的限制畅游Internet. 如果你已经设置了一个代理服务器, 就可以选“选项/使用代理服务器”来使用或关闭代理服务器。 该设置对所有的网页都有效。
使用Web代理: 网上有不少网站提供基于Web的代理服务, 它速度较快且比较稳定。 你可以为每个网页分别设置不同的Web代理或不使用代理。 可以选“选项/使用Web代理服务”来使用或关闭代理服务。 MyIE已经预先内置了一个代理了。当你为一个窗口选择了使用web代理后,在输入新网址或点了收藏夹中的网址时,就会通过该代理来访问了。
设置代理: 使用“选项/快速代理设置” 可以新增/修改/删除 代理服务器和Web代理服务。代理服务器的格式为:地址: 端口,如202.96.233.13:3128。 大家可以在网上找到不少免费的代理服务器。Web代理中可使用%s和%S来表示插入网址的位置,否则网址将插在代理末尾。MyIE可分类管理不同的代理,你可自行增加或删除代理种类。不过必须保留一个web代理。
使用多个代理服务器:你可以在一个MyIE
浏览器
中使用一个代理服务器, 然后再开一个MyIE
浏览器
使用别的代理服务器或不用。 这样你可以一边浏览国内的网站, 一边用代理服务器浏览国外的网站。
设置速度标签: 为了方便代理服务器和web代理的管理,你可以为每个代理设置一个速度标签来加以区分。速度标签有:很快,快速,一般,较慢,很慢,无效共6级。你可以在快速代理设置对话框中用右键菜单来设置。
使用工具条的按钮:工具条上有两个按钮:代理服务器和web代理。使用它们可以方便的选择和使用代理,效果和用菜单一样。 你刚用过的代理将作为缺省的设置,当你直接按按钮时就将使用这个缺省设置的代理了。
编辑Bypass 网址: 使访问那些地址时不通过代理服务器。每个地址以空格分开。
导出/导入代理服务器:使用导入导出功能可以和代理猎手配合使用,方便验证代理服务器。
快捷功能:
设置启动组:在收藏夹栏的收藏夹目录上的右键菜单中选设为启动组菜单,将该目录设为启动组。启动组将以粗体表示,可用于MyIE的第四种启动模式。这样你等于是拥有了一组Homepages了。
Tips: 不妨把目录“链接”设为启动组
打开启动组:打开你的启动组中的所有连接。你可把你的最精华的网址放在里面以方便随时打开它们。
网页缩写:打入长长的URL是不是很麻烦?或许你不想记住那些地址。那么你就需要缩写的功能。你可以为网址定义一个
中文
或英文的缩写,当你在地址栏中象输入URL一样输入缩写,它将被自动翻译成相应的网址。
一键通:为使你能更快捷的浏览喜欢的网页,你可以使用一键通为F2-F12键定义一个网址。只要你一按F*就可访问对应的网页。但这时F键所对应的其他快捷键将被屏蔽。
3721
中文
网址:选中 快捷/3721
中文
网址,就可使用3721
中文
网址了。不须使用其他客户端软件,只要在地址栏输入“电脑报”即可到电脑报网站了。
快捷组:应网友的要求加入了和Netcaptor兼容的快捷组。 只需将Netcaptor的*.cgp文件拷贝到MyIE目录下的groups目录中即可。双击组内网址可打开该网页。
将当前所有窗口另存为组:可将当前所打开的窗口网址另存为一个新的组。
自动填表:使用Alt-Q可自动填写当前页面中的表单,在填表前需用Alt-1来收集表单的数据,也可以用Alt-2把表单的数据保存为通用表单。当填表时如果没有相应的表单数据则使用通用表单的数据。注:该功能不适合多人共用的电脑,以免重要数据的泄露。
快捷搜索:只要在地址栏中输入如 yahoo keyword 就可以用yahoo来搜索该keyword。 使用设置快捷搜索可以定制所需要的搜索引擎的快捷名称。
状态栏的快捷按钮。状态栏上设置了四个快捷按钮,依次为脱机浏览,当前窗口使用自动过滤,激活新窗口,简易文本搜集面版。
简易搜集面版。用来暂存文本信息和
图片
。可拖放文本
图片
到状态栏按钮或搜集面版 上将文本
图片
保存起来。
图片
会保存到预设的
图片
保存目录中,方便收集
图片
。
收藏夹和链接:
收藏夹: MyIE具有和IE一致的添加到收藏夹,组织收藏夹,导出/导入收藏夹。
打开本层链接:收藏夹菜单中每级都有一项打开本层链接的菜单。 使用它可以打开这一层收藏夹的所有链接。
打开所有链接:链接栏上的第一个按钮是打开所有链接, 它可以打开链接中的所有网址。
收藏夹栏: 点击工具条上的收藏夹就会
出现
收藏夹栏。使用收藏夹栏的右键菜单可以删除,复制,在新窗口中打开网址。以及打开所有网址。
最爱网页:如果你的收藏夹有许多网址使你无从下手,你可以将其中最喜欢的网址设为最爱网页,他们将会以红色的图标表示出来。它将帮你提高上网的效率。
最爱目录:你可以将你最喜欢的收藏目录设为最爱目录,他们将会以红色的图标表示出来。它将帮你提高上网的效率。双击一个目录可打开所有网址。
打开本层我的最爱:收藏夹菜单中每级都有一项打开本层我的最爱的菜单。 使用它可以打开这一层收藏夹中所有最爱的网页。
使用单列的收藏菜单:如果你有一个很大的收藏夹,如果你使用Win98,建议你使用单列菜单。你可在 MyIE选项中选择。使用后如果菜单超过一屏的长度则会
出现
滚动按钮,可用来滚动菜单。
收藏条:将收藏夹中的目录以工具条的方式
显示
,方便你随时取用。如果你的目录很多可使用紧凑模式以去掉小图标。方法是:在ini文件的[settings]下加入CompactFavBar = 1
收藏夹排序:在收藏夹栏中可拖动收藏条目或目录来排序。
加入到当前收藏菜单:在收藏菜单的每个子菜单中增加了一个加入连接到当前目录的菜单项,可将当前页面的网址直接加入到当前的收藏目录中。
增强功能:
内置多种搜索引擎:MyIE内置了近100种中英文分类搜索引擎(查看/浏览栏/搜索),可以轻松查找你需要的资料。你只要输入关键字,然后选择所要用的搜索引擎。搜索结果将在不同的窗口中
显示
。 而且搜索引擎列表可以很方便的升级。
外部工具管理器:MyIE为用户所想,可以把用户上网经常用到的一些软件放在工具管理器内(如:Net vampire,IP工具包, 甚至拨号网络)方便你使用。使你不用离开MyIE就可以完成大
部分
上网功能. 而且你可以让工具随MyIE自动启动并自动关闭,可在外部工具管理器中设置。
清除历史记录:可以方便地清除你不需要的一些浏览记录(如Cookies,Cache和历史)。
设为缺省
浏览器
:选择 选项/设置为缺省
浏览器
, 回答"是"将MyIE设为缺省
浏览器
, "否"恢复上一次的设置。
六种启动模式: 打开空白页, 打开主页, 继续最后浏览的页面, 打开收藏夹的启动组(需预先在收藏夹中设定一个启动目录),打开收藏夹的启动组中的最爱网页,打开启动快捷组(需要预先设定). 让你一打开MyIE就看到你最喜欢的网站.
显示
上网的IP地址: 选择工具/
显示
本机IP地址, 在状态栏上
显示
当前的IP地址。
设置皮肤:MyIE支持与IE兼容的皮肤。 将BMP图形文件复制到MyIE所在目录的myieskin子目录中,然后在工具/设置MyIE皮肤中选择相应的皮肤即可。
自定义工具条:应网友的要求加入了可自定义工具条按钮的功能。
MyIE选项:可让你修改一些MyIE的属性,使你更好的控制和使用MyIE.
系统资源:在Win98系统上,状态栏上会
显示
当前系统的资源数量。
空闲内存:在WinNT和Win2000下
显示
空闲的内存数。
Modem下载速度:在Win98系统上,状态栏上会
显示
当前modem的下载速度。
最小化到系统托盘:在MyIE选项中选择最小化到系统托盘即可使MyIE最小化到系统托盘中。
禁止状态栏上的滚动字符:选中 选项/禁止状态栏滚动字符 可以去掉那些干扰视线的滚动字符。
链接列表。使用查看中的页面链接可以列出当前页面内的所有链接,并可用过滤功能列出相应的链接。
锁定主页:可防止有的网页随便的修改你的主页,只有通过MyIE中的Internet选项才可以修改主页。
增加天语的按键映射
增加三星的背景灯控制功能(该功能未在真机上测试过)
删除
图片
浏览中的
部分
功能,由于这
部分
功能需要较大的内存,导致在大
部分
手机上无法完成,同时也引起背景
图片
无法设置成功
触摸屏用户可以不再受滚动条限制,在屏幕上任意地方都可以进行拖动
选择键盘映射为其它时无法再次更改的BUG
用户输入的颜色值无法保存的BUG
修正英文单词分词
时会
多添加一个空行的BUG
繁体语言措词上的修正
阅读设置中增加一个“文件缓存”选项,默认
情况
下是开启的,在NOKIA手机上会提高UMD等文件的表现,但由于测试并不充足,如果程序经常在阅读时出错,请关闭该选项(其它手机是否开启该选项并无明显的影响)
修正编辑文件后无法保存的BUG
[2008.10.27] Ver 3.2.24
※如果安装提示证书过期或无法安装,请在手机上将时间改为2008.8.8,安装设置完成后再将日期改回即可!※
改进的颜色选择方式
允许用户重新选择键盘映射
HTML
阅读时的错误
进一步完善编辑功能(仍有少许BUG,请继续反馈,谢谢)
新建文件后自动跳转到编辑中
改进的文件操作方式,速度轻微提升
UMD速度明显提升,并且减少内存占用,特别是在NOKIA手机上,表现提升超过600%
改进的输入框模式,以使得能适应更多的手机如天语等
[2008.10.21] Ver 3.2.23
为了提高运行效率,以下功能在LITE上将被取消(自定义欢迎页问候语;欢迎页背景图)
取消了JAR的支持,提高运行效率
修正打开大ZIP文件时的内存溢出错误
自动滚屏到末尾时,滚屏功能将停止
[2008.10.4] Ver 3.2.22
暂时删除了播放功能及网络相关的功能,由于以上两项功能一直没有能稳定下来,故暂时删除
增强了ZIP功能,支持带文件夹结构的ZIP/JAR文件
(对于大
部分
JAR电子书都,可以从文件管理器中找到非.class结尾的文件,并且选择打开为UNICODE/TXT阅读)
(对于NOKIA手机及其它
部分
手机,由于安全策略的限制,在Anyview的文件管理器中无法查看后缀为.jar的文件)
自定义问候语(系统路径下dictum.rc文件,格式参见jar包中的dictum.rc文件,保存时使用UTF-8编码,可写条目为0~9/a~z/A~Z,置空时表示不
显示
问候语)
0键在各偏好中切换时亮度混乱的问题
部分
手机上无法新建文件夹
[2008.9.11] Ver 3.2.21
修正动画参数无法保存的BUG
动画效果不再对阅读翻页有作用
[2008.8.29] Ver 3.2.21
可将正在阅读的内容通过短信与好友分享
增加一种新的滚屏方式:波浪,同时,阅读时3键不再使用默认的像素滚屏,而会使用最后一次使用的滚屏方式
任何可用的外置字库都可以作为内置字库存在,在jar包中存在dot.font会被当为内置字库加载
加快大文件的打开速度,特别是对于NOKIA手机,S60上,打开20M文件,97%左右的位置不超过15秒
允许用户打开动画效果
·M600/P990/P1/W950
修正键盘映射时“内存不足”的BUG
·E680/A780
选中后台播放后无法启动的BUG
[2008.7.30] Ver 3.2.20
调整
部分
索爱手机上背景灯控制的逻辑
修正看
图片
时按0键出错的BUG
旋转屏幕引起的字外出
打开LRC最后出错
阅读到尾部弹出“上一个/下一个”窗口中的文件名过长不刷新的问题
偏好切换时亮度混乱的问题
在NOKIA上,当系统路径设置为根目录是无法启动的BUG
E398上可以开关键盘灯
UIQ系统在退出时可以保持亮度
索爱上按“返回”键后导致阅读
出现
白屏的BUG
阅读时切换屏幕方向导致字体超出屏幕的BUG
欢迎屏幕上的日期使用
中文
显示
如果使用触屏手机,跳转改为进度条模式,以方便触屏操作
系统路径下如果存在bg.png文件,则会作为欢迎界面的背景
图片
显示
(右下角)
减少跳转及翻页中
出现
乱码的机率
提高阅读时绘图效率,滚屏效率同样提高
播放时,暂停会导致声音爆至最大的BUG
内置“忘记月亮”制作的两款主题《典雅红》《黑橙》,并且更换主题不再要求退出
文件管理器中支持“剪切”功能
文件管理器中新增转换UMD为TXT的功能(解开操作,解开2无效!)
增加了编辑功能(尽管没有限制文件大小,但请别编辑过大的文件,另外,为了提高速度,不进行全文排版,有时候表现可能会有些不习惯),以后会进一步完善
启动时,会自动识别NOKIA、SONYER
1)增加防止COOKIE欺骗攻击的加密KEY属性设置,编辑器用到的COOKIE都将会进行加密。
2)更新编辑器帮助文件。
3)文字水印调整为只添加到图像宽高>100像素的
图片
上面,并且调整编辑器默认配置添加的是
图片
水印!
2010/04/02
Version 6.1.6 For VS2005/2008
Updates:
1)针对IIS6.0文件解析高危漏洞进行修正。
2)上传功能的一些优化。
3)文件夹重
命名
的一些改进。
2010/03/08
Version 6.1.5 For VS2005/2008
Updates:
1)修正了一个安全方面的BUG。
2)修正保存远程
图片
到本地功能的保存路径问题。
3)修正保存远和
图片
到本地功能在IE6及IE7的提交BUG。
4)修正上传
图片
界面中对齐方式不能生效的BUG!
2010/01/15
Version 6.1.4 For VS2005/2008
Updates:
1)加入保存远程
图片
到本地的功能图标到菜单栏,配置代码为remoteupload。
2)修正FireFox下插入WMA等音频文件不能播放的BUG.
3)修正关闭图像预览后可能
出现
的BUG.
4)修正保存
图片
到本地的一些BUG.
5)更新配置器,增加保存远程
图片
到本地功能的配置.
2009/12/10
Version 6.1.3 For VS2005/2008
Updates:
1)修正了firefox
浏览器
下编辑器宽度设置为100%会出错的BUG。
2)优化了
图片
水印功能,
图片
水印可以4:1为比例自适应
图片
。
3)增加水印调整功能的左上,左下,右上,右下角的位置(默认右下)。
4)增加
图片
水印是否半透明的选项。
2009/11/25
Version 6.1.2 For VS2005/2008
Updates:
1)修正插入视频的地址是mms、rtsp的话,路径就不对的BUG。
2)优化了上传成功后的处理代码。
3)改进了插入表情图标的功能(增加了多组表情,并且鼠标经过表情后可自动放大表情)。
4)优化了编辑器的整体结构。
2009/09/30
Version 6.1.1 For VS2005/2008
Updates:
1)修正上传管理中删除文件夹及重
命名
文件夹导致Session失效的BUG。
2)改善了新建文件夹的方式,按取消按键后文件夹将不会被新建。
3)重新用回Cookie方式储存参数,并且加强COOKIE的安全性。(因为session在操作删除目录后会掉失)
2009/08/07
Version 6.1.0 For VS2005/2008
Updates:
1)改用Session代替
部分
Cookie储存上传功能所用到的配置数据,以便让编辑器上传更加安全。
2)修正一个文件格式上传时存在的安全性问题。
3)上传页面去掉所有input隐藏属性储存参数,改用ViewState储存,并加入ViewState的防改措施。
2009/07/05
Version 6.0.9 For VS2005/2008
Updates:
1)修正插入表格后在表格单元格插入内容会插到另一个单元格的BUG。
2)控件可视化配置工具中的功能
显示
中插入excel表格改为导入Excel表格。
2009/06/23
Version 6.0.8 For VS2005/2008
Updates:
1)去掉现在基本没法使用的插入EXCEL表格功能,改为无组件的导入EXCEL文档功能(测试中,导入excel文档必须符合数据库格式,否则导入数据将不全)。
2)更新编辑器的
部分
文字资源。
3)修正4号与5号字体大小一样的BUG!
2009/06/15
Version 6.0.7 For VS2005/2008
Updates:
1)修正word导入功能中如果选择了保存word文档到服务器,那么下次相同的文件将不能再次导入的BUG!
2009/06/02
Version 6.0.6 For VS2005/2008
Updates:
1)修正了6.0.5版本增加功能后
出现
上传后出错的严重BUG。
2009/05/23
Version 6.0.5 For VS2005/2008
Updates:
1)修正了上传远程
图片
文件时可能
出现
404的错误。
2)修正插入
部分
远程URL
图片
时可能
出现
无法
显示
的错误。
3)修正FireFox
浏览器
下弹出窗口自适应大小功能不正常的BUG。
4)改进了多文件上传后自动选择添加到上传列表的文件。
5)改进了如找不到对应语言文件则使用默认语言的功能。
2009/05/15
Version 6.0.4 For VS2005/2008
Updates:
--------------------------------
DotNetTextBox V6.0.x 商业版更新历史
--------------------------------
2016/10/10
Version 6.0.10 For VS2015
特别声明:由于联系不上原作者,此版本为自已在修复老项目时,顺带修复了该组件的部份错误.
为了方便维护老项目的网友们,故此发布修正的版本(更新版本号的目的仅为方便标识不同版本).此源码仅供自行学习研究使用,本人不承担由此产生的任何法律后果
请原作者与我联系,以方便我将此源代码交回其合并至统一的代码源中,必免版本混乱.
如原作者认为侵权,则请提醒我及时删除我上传的源码(其它网友自行上传的与我无关)
csdn.com发布地址:http://download.csdn.net/detail/egman/9630141
github发布地址:https://github.com/egman77/DotNetTextBox (保持最新)
我的联系邮箱;egman@163.com
Updates:
1)修正当插入Word文件,如果内容为空,没有任何提示且上传菜单(但选定的文件名已消失)仍然存在的问题。
更改为: 当文件内容为空时,服务端给出"文件内容为空"的提示,并关闭上传菜单。
2)修正当插入Word文件,未选定文件而直接点击导入编辑时,没有任何提示且上传菜单仍然存在的问题。
更改为: 当未选择上传文件时,
浏览器
端给出"未选择任何文件"的提示,并保留上传菜单。
(服务器端保留仍提示"未选择任何文件"的功能,但正常
情况
下,不会
显示
此提示。)
2016/9/14
Version 6.0.9 For VS2015
特别声明:由于联系不上原作者,此版本为自已在修复老项目时,顺带修复了该组件的部份错误.
为了方便维护老项目的网友们,故此发布修正的版本(更新版本号的目的仅为方便标识不同版本).此源码仅供自行学习研究使用,本人不承担由此产生的任何法律后果
请原作者与我联系,以方便我将此源代码交回其合并至统一的代码源中,必免版本混乱.
如原作者认为侵权,则请提醒我及时删除我上传的源码(在www.csdn.net中发布)(其它网友自行上传的与我无关)
csdn.com发布地址:http://download.csdn.net/detail/egman/9630141
github发布地址:https://github.com/egman77/DotNetTextBox (保持最新)
我的联系邮箱;egman@163.com
Updates:
1)修正在VS2010以上时,无法正确
显示
控件的问题。
2)修正设置With属性 值后缀为%时,运行出错问题。
3)修改默认Framework从V2.0提升到V3.5
4)修改默认支持AJAX (原来ie11以上运行时,会导致页面失去响应)
5)源代码解决方案简化,支持vs2013以上版本打开,项目默认支持ajax
Updates:
1)去掉现在基本没法使用的插入EXCEL表格功能,改为无组件的导入EXCEL文档功能(测试中,导入excel文档必须符合数据库格式,否则导入数据将不全)。
2)更新编辑器的
部分
文字资源。
3)修正4号与5号字体大小一样的BUG!
2009/06/15
Version 6.0.7 For VS2005/2008
Updates:
1)修正word导入功能中如果选择了保存word文档到服务器,那么下次相同的文件将不能再次导入的BUG!
2009/06/02
Version 6.0.6 For VS2005/2008
Updates:
1)修正了6.0.5版本增加功能后
出现
上传后出错的严重BUG。
2009/05/23
Version 6.0.5 For VS2005/2008
Updates:
1)修正了上传远程
图片
文件时可能
出现
404的错误。
2)修正插入
部分
远程URL
图片
时可能
出现
无法
显示
的错误。
3)修正FireFox
浏览器
下弹出窗口自适应大小功能不正常的BUG。
4)改进了多文件上传后自动选择添加到上传列表的文件。
5)改进了如找不到对应语言文件则使用默认语言的功能。
2009/05/15
Version 6.0.4 For VS2005/2008
Updates:
1)修正IE8非兼容模式下的
部分
功能及页面不可用的BUG!
2)修改MSN在线状态检测地址为官方地址.
3)修改ICQ在线状态检测地址为官方地址.
2009/05/11
Version 6.0.3 For VS2005/2008
Updates:
1)修正了IE5.5和IE6.0
浏览器
下上传弹出窗口
显示
不完全的BUG!
2)修正打开上传窗口
时会
弹出参数无效的BUG!
3)增加了在IE8
浏览器
下控件
显示
不正确的解决办法(更新到faq.htm页面)!
2009/03/23
Version 6.0.2 For VS2005/2008
Updates:
1)修正多文件上传的严重BUG!
2)优化了多文件上传的性能!
3)优化了多文件上传时的一些细节!
2009/02/14
Version 6.0.1 For VS2005/2008
Updates:
1)修正使用vs2008项目文件打开默认项目时
出现
不能通过编译的BUG!
2)修正AjaxSupport目录下
部分
源文件未与最新版本同步更新!
3)修正插入特殊字符中有三个特殊字符插入后变为?号的BUG!
4)修正插入Flash的时候无法使用绝对全路径的BUG!
5)修正自动保存的
图片
没法加入水印的问题。
6)修正自动保存
图片
功能开启后,内容中带有视频内容提交会出错的BUG。
7)修正自动保存
图片
功能会对本地域名的
图片
也会重新保存一次的BUG。
8)修正获取远程页面功能在获取
部分
页面时乱码的BUG!
9)增加批量上传文件的功能,同时优化了所有模块的上传文件功能。
10)所有弹出的模态窗口现在可根据内容自动调整高度及宽度,杜绝旧版本在一些
浏览器
下
显示
窗口内容不完全的BUG。
11)导入Word功能升级到V2.0,修正导入后有些样式导入不完全的问题,同时优化了导入word文档时的性能!
12)更新了控件的
部分
语言资源文件。
13)更新控件可视化配置工具至1.0.3。
2008/10/27
Version 5.0.9 For VS2005/2008
Updates:
1)修正重
命名
功能
中文
件名结尾带.造成的出错问题!
2)修正字号大小
显示
外观1号最小,7号最大的BUG!
3)修正firefox下与jquery不兼容问题!
4)修正firefox下脚本的一些问题!
5)修正firefox3.0以上版本浏览控件界面
显示
不正确的问题!
2008/10/23
Version 5.0.8 For VS2005/2008
Updates:
1)增加了上传功能中重
命名
文件名的安全字符过滤!
2)修正上传功能中存在的一个安全问题!(重要更新)!
3)修正GIF图像添加文字水印无法自定义大小的BUG!
4)修正GIf图像生成缩略图质量较低的BUG!
2008/10/20
Version 5.0.7 For VS2005/2008
Updates:
1)修正每次新建文件夹默认目录名相同导致的问题,现在新建文件夹的默认目录名以newFolder年-月-日-时分秒来
命名
,杜绝重名的
情况
出现
。
2)修正文件重
命名
功能中如果文件名是1.jpg.jpg这样形式的话,重
命名
的时候只会
出现
1而不是1.jpg的BUG!
3)修正选择字号大小功能
出现
掉失
HTML
格式的BUG。
4)修正不能对单帧GIF
图片
添加水印的问题,但GIF动画暂时还不支持添加水印!
5)重写及优化了控件
html
代码转x
html
代码的JS方法,现在即时转换X
HTML
的性能更佳,也修正了原来开启x
html
转换会破坏代码的BUG!(此功能测试稳定后会改为默认功能,即控件默认状态下输出的就是符合X
HTML
标准的代码,现在暂时请用x
html
属性来开启转换)
2008/6/23
Version 5.0.6 For VS2005/2008
Updates:
1)修正控件Length属性统计的字符数包含
HTML
字符的BUG,现在Length属性仅统计纯文本的字符数!
2)修正开启自动保存
图片
到本地的功能后网络
图片
过多的时候
出现
保存
图片
地址重复的BUG!
3)修正控件段落格式及选择字体的下拉列表功能会使页面其它Select选择框消失的BUG!
4)修正去掉下拉列表功能后,控件无法正常使用的BUG!
5)修正商业版采用Asp.Net Ajax支持方式编译后
出现
的一些BUG!
6)修正FIREFOX2.0下控件下拉列表框
出现
位置不正确的BUG!
7)增加强大的代码格式清理功能!菜单功能配置值为:formatstripper!
8)增加getImagesPathID属性,当属性不为空时,将在插入
图片
到编辑器的同时将
图片
地址即时插入属性指定的页面ID!
9)增加自动及手动内容分页的强大功能,通过getAutoPage(自动分页)及getManualPage(手动分页)属性获取分页内容!
10)完善及修正了
部分
帮助文档及新增内容分页演示实例!
11)修正及更新控件可视化配置工具(版本号1.0.2),增加了新版本中
出现
的新功能添加(代码清理及手动分页功能及修正生成上传配置文件中的错误)!
2008/5/20
Version 5.0.5 For VS2005/2008
Updates:
1)修正去掉代码状态功能后
出现
其它状态切换图标
显示
不正确的BUG!
2)修正上传
图片
功能在修改
图片
的时候切换到水印控制会
出现
脚本错误的BUG!
3)修正上传媒体文件功能插入FLV时调整播放器高度及宽度失效的BUG!
4)修正控件自带的FLV播放器播放某些视频时画面尺寸不按比例的BUG!
5)修正上传媒体文件功能中FLV不能正确
显示
文件图标的BUG!
6)增加AjaxSupport目录,使用此目录的文件覆盖原版同名文件后重新编译即可解决在Asp.Net Ajax UpdatePanel下工作不正常的BUG!(不需要使用asp.net ajax的用户无需覆盖此目录的文件)
7)增加asp.net ajax的演示例子(AjaxSupport/DotNetTextBoxWebSite/下)
8)FLV播放器增加全屏播放的功能!
9)优化了控件核心的
部分
代码!
2008/5/12
Version 5.0.4 For VS2005/2008
Updates:
1)修正X
HTML
1.0定义下的页面无法
显示
发光字的BUG!
2)修正在带有
中文
目录的网站路径下使用控件会
出现
找不到路径的BUG!
3)修正控件上传目录初始设置不支持
中文
目录的BUG!
4)修正当三级或以上级别目录调用控件时
图片
相对路径转换不正确的BUG!
5)增加提取编辑器内容中FLASH及FLV播放地址的功能,与提取
图片
地址使用方法相同(getflvurl和getflashurl属性)!
6)优化了控件上传页面中的
部分
JS脚本!
2008/4/28
Version 5.0.3 For VS2005/2008
Updates:
1)修正二级目录调用控件时自动保存保存远程
图片
功能出错的BUG!
2)修正进行某些操作之后Undo/Redo失效的BUG!
3)修正采用BR换行模式后
出现
列表项功能使用不正常的BUG!
4)修正DIV弹出窗口在
浏览器
底部无法自动向上调整的BUG!
5)修正上传文件、上传模板及上传媒体文件功能
中文
件无法删除的BUG!
6)调整了控件弹出窗口的方式,
部分
功能的模式窗口转换为Div+CSS的窗口!
7)调整pathtype属性默认值为AbsoluteFull(绝对全路径)!
8)增加对VS2008的支持,使用VS2008的用户请使用DotNetTextBox2008.sln打开项目,VS2005的用户则使用DotNetTextBox2005.sln打开项目(VS2008下控件的设计时
显示
尚不完美,以后版本将会尽快完善)!
2008/3/25
Version 5.0.2
Updates:
1)修正扩展编辑框功能不能无限增加的BUG!
2)修正代码状态下空格不能自动换行的BUG!
3)修正IE
浏览器
下特殊格式的闪烁特效无效的BUG,现在IE
浏览器
下闪烁特效用发光字体特效代替!
4)修正二级以上目录调用控件时插入文件的路径转换无效的BUG
5)完善了水印控制的功能,文字水印支持更换字体及颜色!
6)优化了上传功能中返回上层目录的速度!
7)增加强大的可视化菜单配置及上传配置的生成工具,方便用户自行生成控件的相关配置文件(测试中)!
2008/3/02
Version 5.0.1
Updates:
1)修正代码状态下按回车换行过大的BUG!
2)改良了编辑器回车换行的方式,旧版本按回车后以段落换行(<P></P>)的方式现在已更改为<BR>换行,好处是按回车换行后行与行的间距不会过大了(可用新增的NewLineMode属性设置为P恢复为段落换行)!
3)改良了代码状态下编辑框不会自动换行而导致不能方便查看代码的问题,现在代码状态下能自动换行!
4)新增GetImagesUrl属性,可以通过该属性获取控件提交内容里所有
图片
的URL地址(Webeditor1.GetImagesUrl[
图片
序号].ToString()),得到的
图片
地址将可用于首页新闻的
图片
显示
或幻灯片
显示
。
2008/2/28
Version 5.0.0
Updates:
1)全新的可拖曳菜单工具栏,让每个使用者可视化构建自己的个性化在线编辑器!
2)更强大的Word文档导入编辑器功能,无需特殊的服务器权限或安装客户端组件,只要拥有最基本的ASP.NET读写文件权限即可实现导入Word文档,并且还支持最新的DOCX文档格式!
3)更细致的工具栏区域划分!
4)全新的可隐藏菜单工具栏配置!
5)更强大的的X
HTML
代码转换功能,支持即时的X
HTML
代码转换!
6)更多功能的细致化修正及改良!
------------------------------
http://www.aspxcn.com.cn
网页中很多时候要用到
图片
,通过img标签或者滤镜来
显示
在页面上。而当文件名包含
中文
(或空格)
时会
遇到
图片
无法正确加载,服务器端的不识别
中文
的路径名。
解决办法如下:
1.改变服务器的配置,使服务器支持utf-8来
显示
图片
。这个经过测试是有效的,但是有一点是服务器配置修改了以后,再使用request来获取参数时,
中文
乱码的问题。通过System.out.print来打印出来的参数是正确的,但是赋
第一章 绪论
1.1. 选题背景
这几年,许多新名词涌入我们的视野:博客、圈子、播客、WAP等。这些都预示着我们进入了一个新的互联网阶段web 2.0,它是相对web 1.0的新的一类互联网应用的总称,是一次从核心内容到外部应用的革命[10]。这个阶段发展迅速,互联网应用趋于多样化,其中变化最大的是由web 1.0网站创造内容的时代变为由用户创造内容的web 2.0时代。
在web 2.0应用中,博客(Blog)是web 2.0核心应用中最典型、最流行的代表之一,也是web 2.0技术应用的最直观的表现,是web 2.0精神和理念的具体体现。
1.2. 问题的提出
Blog记载了日常发生的事情和自己的兴趣爱好,把自己的思想和知识和他人分享、交流,同时又通过“六度空间”结识了更多志趣相投的朋友;而越来越多专业知识的 Blog 的
出现
,让我们看到了 Blog 更多所蕴涵的巨大的信息价值:不同的 Blog 选择不同的内容,收集和整理成为很多人关注的专业 Blog ——目前越来越多的人获取信息的来源是一些固定的 Blog 。随着博客人数的增加, Blog 作为一种新的生活方式、新的工作方式、新的学习方式已经被越来越多的人所接受,并且在改变传统的网络和社会结构:网络信息不再是虚假不可验证的,交流和沟通更有明确的选择和方向性,单一的思想和群体的智慧结合变的更加有效,个人出版变成人人都可以实现的梦想—— Blog 正在影响和改变着我们的生活。
1.3. 系统的开发目标
管理员通过前台页面进入后台管理模块后,可对注册的博客用户进行维护,包括对注册用户的添加、查找、修改和删除。
管理员进入登录后,可对帐户进行管理,包括添加管理员帐户、修改管理员帐户、删除管理员帐户和对帐户进行权限设置。
博客用户通过前台登录后,可对自己的博客空间进行管理,包括发布自己的网络日志、收藏个人
图片
、和相关人员进行交流和沟通以及删除访问者发表的评论等。
因此,在具体设计实现该博客网站时,主要考虑了主流博客网站的几个主要功能:(1)博客的注册、登录验证功能(2) 网络用户通过关键字搜索博文功能(3) 最热门博客页面推荐浏览(4) 文章详细内容及相关评论
显示
(5) 博客页面访问量统计(6) 博客个人文章管理维护功能(7) 博客个人文章分类管理维护功能(8) 博客个人友情链接维护功能(9) 博客个人基本信息管理维护功能(10) 博客
图片
上传及个人相册管理(11) 网络用户写留言,博主查看留言。
第二章 系统设计
2.1. 系统分析
在整个blog进行开发之前,要确定出整个项目的整体架构,包括系统的选型、运行环境的确定及系统结构设计。下面对这进行详细介绍。
在进行软件系统开发的最初环节,一般都需要进行系统的选型,即根据系统功能的实际需求,选择合适的开发工具及软件架构。
blog对系统的可靠性、稳定性有比较高的要求。本系统设计时,比较主流的B/S设计有基于JSP、ASP、PHP、CGI及J2EE等模式。相比较而言PHP的功能相对简单,不适合做大程序;而CGI效率相对较低,所以也不考虑。由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。
为了增加系统的吞吐量,提高并发处理客户请求数量,系统采用了IBM服务器作为主机。在数据库处理方面,不需要在数据层借助存储过程及数据库服务器端函数封装过多的业务逻辑,因此数据库系统采用相对精巧的MySQL[6]。
该在线博客系统服务器端如果需要布置到其他主机上,则该主机必备条件如下:
1. 服务器端操作系统:独立于操作系统的跨平台系统,客户端MicroSoft Windows 2000及以上;
2. 数据库:MySQL 5.0.27版本;
3. Web服务器:Tomcat 5.5及以上版本,配合MVC设计模式及 Hibernate开发架构;
4. 客户端运行环境:能运行IE 5以上或Netscape 5以上
浏览器
的操作系统,配合使用Ajax技术;
5. 客户端运行工具:目前的系统采用
浏览器
作为客户端,为了支持Ajax开发框架,应该选择使用IE 5以上版本
浏览器
。
本网站以xp为Web平台,JSP+Ajax+Servlet+JavaBean+Hibernate为网站实现技术,建立基于MySQL数据库系统的核心动态网页,实现博客网站前台及博客个人维护管理等功能模块。
1、 系统处理的准确性和及时性:系统处理的准确性和及时性是系统的必要性能。在系统设计和开发过程中,要充分考虑系统当前和将来可能承受的工作量,使系统的处理能力和响应时间能够满足信息处理的需求。
2、 系统的开放性和系统的可扩充性:系统在开发过程中,应该充分考虑以后的可扩充性。例如数据表中用户选择字段方式的改变,用户查询的需求也会不断的更新和完善。所有这些,都要求系统提供足够的手段进行功能的调整和扩充。而要实现这一点,应通过系统的开放性来完成,既系统应是一个开放系统,只要符合一定的规范,可以简单的加入和减少系统的模块,配置系统的硬件。通过软件的修补、替换完成系统的升级和更新换代。
3、 系统的易用性和易维护性:要实现这一点,就要求系统应该尽量使用用户熟悉的术语和
中文
信息的界面;针对用户可能
出现
的使用问题,要提供足够的在线帮助,缩短用户对系统熟悉的过程。
4、 系统的数据要求:1、数据录入和处理的准确性和实时性。2、数据的一致性与完整性。3、数据的共享与独立性。
2.2. 系统的可行性分析
2.2.1. 技术可行性
技术上的可行性分析要考虑将来要采用的硬件和软件技术能否满足用户(这里是服务器,网速)提出的要求(如计算机的容量、速度等)。此外,还要考虑开发人员的水平,学习了两年的jsp开发,对于这个系统的编写,我想完整的之需要两个月就可以写出程序,再花上几天的调试,计划两个月左右就可以完成投入使用了。
我们掌握了数据库及其应用技术、数据库原理、计算机网络技术等课程,对数据库的设计、应用、维护及局域网的组成有了深刻的认识与一定的动手实践能力,考取了信息处理、程序设计、数据库技术等国家IT认证。从一定程度上具备了开发一个小型系统的能力。再有就!
2.2.2. 经济可行性
主要从对项目的经济上进行分析评价,一方面是支出的费用,包括设备购置费、管理和维护费用、人员工资和培训费等,另一个是取得的收益。这是个小型的系统,从投入的人力,财力与物力来讲是非常小的,发布出去之需要注册域名就可以了,从节省人力方面,可以让管理人员从繁与复杂的工作中解脱出来,做更多的工作。
2.2.3. 管理可行性
有IP地址、用户名与密码等,可以下载一个FTP上传工具(cure)上传更新后的内容.可以在http://www.skycn.com/soft/683.
html
下载到.
下载以后,通过"站点管理"-->"新建站点".输入IP,用户名,密码.然后连接即可.
当然也可用FTP工具.直接在IE
浏览器
地址栏输入ftp://www.域名/然后输入用户名和密码.同样可以上传.随时更新文件!
第三章 开发环境的说明与安装
3.1. 开发语言的选择
3.1.1. JAVA简介
Java是Sun公司推出的新的一代面向对象程序设计语言,特别适合于Internet应用程序开发。Java的产生与流行是当今Internet发展的客观要求,Java是一门各方面性能都很好的编程语言,它的基本特点是简单、面向对象、分布式、解释的、健壮的、安全的、结构中立的、可移植的、性能很优异的、多线程的、动态的,特别适合在Internet环境上开发的应用系统。
3.1.2. Web应用程序开发环境—JSP技术
JSP的全称是Java Server Pages,它是SUN推出的一种动态网页技术标准。它在传统的静态页面文件(*.
html
,*.htm)中加入JAVA程序片段和JSP标记,就构成了JSP页面。JSP具有以下的优点:
1、将业务层与表示层分离:使用JSP技术,网络开发人员可充分使用
HTML
来设计页面
显示
部分
(如字体颜色等),并使用JSP指令或者JAVA程序片段来生成网页上的动态内容;
2、能够跨平台:JSP支持绝大
部分
平台,包括现在非常流行的LINUX系统,应用非常广泛的Apache服务器也提供了支持JSP的服务;
3、组件的开发和使用很方便:如ASP的组件是由C++,VB等语言开发的,并需要注册才能使用;而JSP的组件是用Java开发的,可以直接使用;
4、一次编写,处处运行:作为JAVA开发平台的一
部分
,JSP具有JAVA的所有优点,包括Write once , Run everywhere.
3.2. 数据库的选择
3.2.1. Web应用程序开发环境—SQLserver数据库
SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的。SQL Server 2000是Microsoft公司于2000年推出的最新版本。 SQL Server 特点:
1.真正的客户机/服务器体系结构。
2.图形化用户界面,使系统管理和数据库管理更加直观、简单。
3.丰富的编程接口工具,为用户进行程序设计提供了更大的选择余地。
4.SQL Server与Windows NT完全集成,利用了NT的许多功能,如发送和接受消息,管理登录安全性等。SQL Server也可以很好地与Microsoft BackOffice产品集成。
5.具有很好的伸缩性,可跨越从运行Windows 95/98的膝上型电脑到运行Windows 2000的大型多处理器等多种平台使用。
6.对Web技术的支持,使用户能够很容易地将数据库中的数据发布到Web页面上。
7.SQL Server提供数据仓库功能,这个功能只在Oracle和其他更昂贵的DBMS中才有。
SQL Server 2000与以前版本相比较,又具有以下新特性 :
1.支持XML(Extensive Markup Language,扩展标记语言)
2.强大的基于Web的分析
3.支持OLE DB和多种查询
4.支持分布式的分区视图
安装、运行SQL Server 2000的硬件需求
(1)计算机
Inter及其兼容计算机,Pentium 166Mz或者更高处理器或DEC Alpha和其兼容系统。
(2)内存(RAM)
企业版最少64MB内存,其他版本最少需要32MB内存,建议使用更多的内存。
(3)硬盘空间
完全安装(Full)需要180MB的空间,典型安装(Typical)需要170MB的空间,最小安装(Minimum)需要65MB的空间。
3.3. 开发工具的选择
MyEclipse,Deamweare,选择SQLserver作为后台的数据库,选择JAVA、JSP、JavaScript、
Html
作为应用程序开发工具,运用Tomcat服务器技术,整个系统完全基于B/S (Browser/Server)模式进行设计。
1、Tomcat应用服务器
目前支持JSP的应用服务器是较多的,Tomcat是其中较为流行的一个Web服务器,被JavaWorld杂志的编辑选为2001年度最具创新的Java产品,可见其在业界的地位。
Tomcat是一个免费的开源的Serlvet容器,在Tomcat中,应用程序的部署很简单,你只需将你的WAR放到Tomcat的webapp目录下,Tomcat会自动检测到这个文件,并将其解压。你在
浏览器
中访问这个应用的Jsp时,通常第一次会很慢,因为Tomcat要将Jsp转化为Servlet文件,然后编译。编译以后,访问将会很快。
Tomcat也具有传统的Web服务器的功能:处理
Html
页面。但是与Apache相比,它的处理静态
Html
的能力就不如Apache。我们可以将Tomcat和Apache集成到一块,让Apache处理静态
Html
,而Tomcat处理Jsp和Servlet。Tomcat是一个很好的工具,不仅仅因为其免费,功能强大,更因为其开放性,越来越受到人们的重视。
2、 B/S 开发模式
伴随着Internet的迅速发展,计算机技术正在由基于C/S(client/ Server)模式的应用系统转变为基于B/S模式的应用系统。
过去,网络软件的开发都采用C/S(client)模式,在这种模式下,主要的业务逻辑都集中于客户端程序,因此,必然导致以下问题:
系统安装、调试、维护和升级困难。由于客户端的硬件配置可能存在差异,软件环能各不相同,因此,在安装时,必须对每一个客户端分别进行配置,同样,在软件升级时也要对客户端分别处理。
B/S模式带来了巨大的好处:
开发成本及维护成本降低。由于B/S架构管理软件只安装在服务器端(Server)上,即应用程序在部署、升级、维护时,只需要在服务器端进行配置就可以了,网络管理人员只需要管理服务器就行了,用户界面主要事务逻辑在服务器(Server)端完全通过WWW
浏览器
实现,极少
部分
事务逻辑在前端(Browser)实现,所有的客户端只有
浏览器
,网络管理人员只需要做硬件维护。
良好的安全性能,防火墙技术可以保证后台数据库的安全性。所有的配置工作都集中在服务器端且所有客户端请求都是通过DBMS来访问数据库,从而大大减少了数据直接暴露的风险。
第四章 系统设计
4.1开发框架技术介绍
对于框架技术,我们采用Struts+ajax的整合! Struts是应用比较广泛的一种表现层框架
1、 Struts是一个为开发基于模型(Model)-视图(View)-控制器(Controller)(MVC)模式的应用架构的开源框架,是利用Servlet,JSP和custom tag library构建Web应用的一项非常有用的技术。由于Struts能充分满足应用开发的需求,简单易用,敏捷迅速。它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这
部分
JavaBeans主要负责
显示
相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的标签库,Struts是应用比较广泛的一种表现层框架。
2、 Ajax我们主要应用就是xmlhttprequest,回调函数实现局部刷新达道数据更新!
4.2需求分析
Blog网站主要是实现注册用户登录、管理相关信息、博文及相关评论、查看留言、友情链接、及
图片
的上传和图像的播放而为上网用户提供按博文主题搜索,查看注册用户的博文及提出相关评论,并为注册用户写留言,游览注册用户的相册、注册等功能的系统。下面就以两种不同的用户来分析博客网站的需求。
4.2.1注册博友
首先必须在博客首页中登录填写用户名和密码,这样才能执行一些相关操作,不然就是普通用户只能查看一些信息,而不能发表博文。可以在管理页面上添加博文的分类,可以上传
图片
和游览自己的相册,在上传过程中可以将一张
图片
定义为自己的签名,在个人管理页面中注册用户还可以修改自己的个人信息。博文管理,友情链接管理及博文分类管理,用例图2。
图2 博客管理页面的用例图
在博客主界面中发表博文时可以选择博文类型,这样可以更好管理自己的博文。并查看和删除网友对自己的博文的一些评论、查看和删除网友留下的一些留言,提供与其他网友交流的空间。更好交流,在信息时代人们通过个人空间沟通也用来但不能在自己的博客主页面中提交评论和留言。。这样在本系统中就可以为博友提供更多的个人色彩。在管理页面中添加和删除友情连接。这样博友可以在自己空间中快速定位自己的关心的网站。这样还可以让网友看到自己的一些信息。友情链接及网页访问量统计
显示
:在博客的个人页面中还提供了推荐给普通网络用户的相关友情链接,此外,对个人页面的访问量也在随时进行统计,并在个人页面中进行直观的
显示
。
博客主页面的用例图如图3所示:
图3 博客主页面的用例图
4.2.2 普通用户
在博客注册页面注册成为博客的注册用户,才可以拥有自己独立的空间,进入某一博客页面查看相关文章信息时,可以随时对自己所感兴趣的文章发表评论,同时也可以查看到其他人针对该博文的评论。普通用户在阅读博文时可以在最后留下自己的一些评论。他也可以留下更多的信息。这样他可以写留言。这样他留下的信息就更快地被博友所看到。普通用户进入博友的用例图如图4所示:
图4上网博友在博客主页面的用例图
普通网友可以搜索自己关心的一些数据。并且在搜索结果中提供在结果范围内再次搜索。这样就可以将范围缩小。首页向注册用户提供登陆模块,注册用户在博客网站首页跟上网网友一样可以查看博客和博文推荐。上网网友可以注册成为博客用户,拥有自己独立的空间。这一模块的用例图如图5所示:
图5 博客首页的用例图
4.3 功能模块介绍
4.3.1 博客注册登录管理模块
博客注册登录管理模块用于建立博客网站固定的客户群体,通过记录对应的博客档案,实现对博客信息的后台维护及管理,同时也便于通过博客档案库将网站最新动态及相关企业的信息方便地传达给每一位潜在的客户。
该功能模块实现了以下几个子功能。
(1)新博客在线注册。
(2)博客登录管理。
(3)跳转到博客主页。
只有进行登录并通过身份验证的用户,才可以在个人博客页面发表日志,并借助个人设置实现对个人博客相关信息的管理维护。对于没有经过身份验证的网络用户不允许在博客页面中发表日志,更不允许对博客页面信息进行管理维护。
该模块实现新博客的注册及登录验证功能。其中,注册新博客
时会
对用户输入的注册信息进行有效性验证,包括基本数据格式的有效性以及逻辑有效性,例如,用户名被占用时将及时给出提示。注册成功的博客登录时,会随时根据博客输入的登录信息进行提示,如用户名错误或者密码错误。
4.3.2 博客及文章检索查询模块
博客及文章检索查询模块为网络用户提供便捷的搜索,以及日志阅读浏览等功能,同时对日志的评论信息、博客推荐也能够及时反馈给网络用户。
该功能模块实现了以下几个子功能。
(1)热门博客页面推荐。
(2)最新博客日志推荐。
(3)日志信息关键字搜索。
该模块能够在网页中随时提供在线的最新日志信息。该信息需要定期更新,网络用户可以随时获得最新日志以及最热门的博客推荐。在客户选择了某个博客或者某个感兴趣的日志后,可以方便地跳转到对应博客页面进行日志的阅读,并和博客进行交流互动。
为了使网络用户尽快定位到所需的博客资料及日志信息,本模块提供了搜索功能,用户可以对所关注的日志信息按照标题进行关键字搜索,以避免用户浏览多个页面来寻找所需的日志信息。
4.3.3博客页面
显示
模块
当网络用户进入某个人博客主页后,在该页面中将提供博客日志列表的
显示
,同时为了方便用户浏览,在该模块中提供根据分类名进行日志列表的
显示
,也提供日志评论的浏览,此外还允许用户在博客页面中发表评论及留言。
该功能模块实现了如下几个子功能。
(1)用户可以分页查看对应的日志内容及评论信息。
(2)用户可以针对日志内容发表评论。
(3)用户可以针对博客进行留言。
(4)用户可以分类查看日志内容。
在该模块中还提供了博客页面统计信息,日志、评论及留言信息分页
显示
等方便用户的
显示
效果。
4.3.4 博客个人维护管理模块
博客个人维护管理模块用于实现用户对博客个人主页及相关信息的动态管理。
该功能模块实现了如下几个子功能:
(1)日志及日志分类管理。
(2)评论及留言管理。
(3)个人基本信息维护管理。
借助该模块,用户可以随时对个人博客主页中的内容进行增加或修改,包括日志分类信息的更新、评论及留言管理等功能,也允许用户对博客的个人信息进行维护及其管理。
4.4 系统分析
本系统采用严格的J2 EE 应用结构,主要有如下几个分层。
1. 表现层:由JSP 页面组成。
2. MVC 层:使用Struts框架。
3. 业务逻辑层:主要由Spring loC 容器管理的业务逻辑组件组成。
4. DAO 层:由7 个DAO 组件组成,实现类必须继承Spring提供的HibernateDaoSupport。
5. Hibernate 持久层:由7 个PO 组成,并在Hibernate Session 管理下,完成数据库访问。
6. 数据库服务层:使用MySQL 数据库存储持久化数据。
系统的具体分层如图5 所示。
图6 系统结构图
在图6 黑色大方框内的MVC 控制层、Service 层及DAO 组件层的组件,都由Spring IOC 容器负责生成,并管理组件的实例(实例必须是单身模式的,本系统中的bean基本上是单身的)。
4.3.1系统架构说明
本系统不仅严格按MVC 模式设计,还按J2 EE 分层设计,将中间层严格分成业务逻辑层、DAO 层及数据持久层等。MVC 层的控制器绝对禁止持久层访问,甚至不参与业务逻辑的实现。表现层采用传统JSP 技术。
本系统采用的是典型的J2EE 三层结构,分为表现层、中间层(业务逻辑层)和数据服务层。三层体系将业务规则、数据访问及合法性校验等工作放在中间层处理。客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互。Jsp广泛的应用和稳定的表现,为其作为表现层技术打下了坚实的基础。中间层采用的是流行的Spring+Hibernate ,为了将控制层与业务逻辑层分离,又细分为以下几种。
Web 层,就是MVC 模式里面的C,负责逻辑层和表现层的交互。调用业务逻辑层,并将业务数据返回给表现层作组织表现,该系统的MVC采用Struts框架。
Service 层(就是业务逻辑层),负责实现业务逻辑。业务逻辑层以DAO 层为基础,通过对DAO 组件的正面模式包装,完成系统所要求的业务逻辑。
DAO 层,负责与持久化对象交互。该层封装了数据的增、删、查、改的操作。
PO ,持久化对象。通过实体关系映射工具将关系型数据库的数据映射成对象,很方便地实现以面向对象方式操作数据库,该系统采用Hibernate 作为ORM 框架。Spring 的作用贯穿了整个中间层,将Web 层、Service 层、DAO 层及PO 无缝整合,其数据服务层用来存放数据。
通过使用Hibernate 持久层,可以避免使用传统的JDBC 操作数据库,对JDBC近一步包装,从而更好地使用面向对象的方式来操作数据库。保证了整个软件开发过程以面向对象的方式进行,即面向对象分析、设计及编程,透过Hibernte 对PO对象持久化操作,不管插入还是查询都是通过PO。
4.3.2实现DAO 层
DAO 还有助于提升系统的可移植性。独立的DAO 层使得系统能在不同的数据库之间轻易切换,底层的数据库实现对于业务逻辑组件是透明的。数据库移植时仅仅影响DAO 层,不同数据库的切换不会影响业务逻辑组件,因此提高了系统的可复用性。
对于不同的持久层技术, Spring 的DAO 提供一个DAO 模板,将通用的操作放在模板里完成,而对于特定的操作,则通过回调接口完成。Spring 为Hibernate 提供的DAO 支持类是: HibernateDaoSupport。
4.3.3 DAO组件的定义
DAO 组件提供了各持久化对象的基本的CRUD 操作。而在DAO 接口里则对DAO组件包含的各种CRUD 方法提供了声明,但有一些IDE 工具也可以生成基本的CRUD方法。使用DAO 接口的原因是:避免业务逻辑组件与特定的DAO组件藕合。由于DAO 组件中的方法不是开始就设计出来的,其中的很多方法可能会随着业务逻辑的需求而增加,但以下几个方法是通用
• get: 根据主键加载持久化实例。
• saveor update: 保存或更新持久化实例。
• remove: 删除持久化实例。
上面涉及了7个PO,这样我们必须设计7个对应的PODao
7个Dao必须继承BaseDao 这个BaseDao 有对接口的一些基本的CURD操作。7个Dao 如下。LinksDao ,BlogDao、FeedBackDao、ArticleDao、MessageDao、SortDao、PictureDao。这7个Dao 分别封装对自己的持久化对象的一些操作。
4.3.4 部署DAO 层
HibernateDaoSupport类只需要一个SessionFactory 属性,即可完成数据库访问。SessionFactroy创建Session,而数据库的CRUD操作都是有Session 完成,并将查询结果保存在一级缓存中,每次用户提交一次会话,可能需要Session完成一些数据库的操作而实际的数据库访问由模板类HibernateTemplate完成,该模板类提供了大量便捷的方法,简化了数据库的访问。
第五章 数据库设计
5.1定义(数据词典)
1、数据库表名的定义使用:重点字_table;重点字可以是多个英文单词的组合,从组合的第二单词起首字母大写,字段
命名
是能表达字段内容的英文单词的组合,组合方式同表名重点字相同。
2、NN 表示not null 不填表可为空。
3、数据类型不使用固定数据库的类型,标识大众类型,如字符串、字符、数字等。这样在更改数据库时需求的数据是可移植的
4、输写数据表在数据库中的物理名称,可用自己熟悉的语言再定义表名称,方便沟通。
5、长度定义又数据类型决定:如字符串可选8000以下,数字可在50位之间,字符只允许一位。
6、输入方式表示数据的来源:生成表由程序或数据库的索引自动生成,而不需人工录入;输入表示通过文本框等输入的数据;选择表单选框、复选框、下拉列表等通过选择输入的数据;自定获取是为外码的输入设定的,它由程序自动获取。
5.2主要表结构如下
1. 表[blogs]日志数据表
字段名 类型 说明
blogid Int(10) 日志的ID
title text 日志标题
pubtime Int(11) 日志发表时间
authorid Int(8) 日志作者的UID
replies Int(8) 日志的评论数
tbs Int(8) 日志的trackback数
views Int(8) 日志的查看次数
category Int(3) 日志所属的分类的ID
content mediumtext 日志正文内容
property Int(1) 日志的属性
0 公开日志
1 锁定日志
2 隐藏日志
3 一般草稿
2.表[user]博友登陆信息表
字段名 类型 说明
userid Int(10) 博友ID
nicheng Text 博友在博客里的称呼
username text 登陆时的用户名
password text 登陆密码
3.表[register]用户数据表
字段名 类型 说明
userid Int(8) 登陆时需要用到的用户名
username text 用户昵称
userpwd Int(8) 登陆密码
regtime Int(11) 注册时间
usergroup Int(2) 所属的用户组ID
email text 用户email
qq text Qq号
msn text 用户msn
gender text 用户性别
第六章 主要功能的实现
6.1 登录控制:
if(this.session().getAttribute("rand")!=null){//检验随机数是否为空 if(this.checkCode.equals(this.session().getAttribute("rand").toString())){//比较随机数
uservo=userbo.queryUserByINfo(uservo);//检验用户信息并将信息返回
if(uservo!=null){//看用户是否存在
this.setUserpurview(uservo.getPurviewId());//设置用户权限
this.session().setAttribute("user", uservo);//将用户信息放在session中
return SUCCESS;//返回用户主界面页面
}else{ return ERROR;返回到失败页面}
}else{return ERROR; }}else{ return ERROR; }
6.2 Ajax 读取txt格式数据
function ajax_function(var1,var2){
var xmlHttp = null; //创建xmlhttprequest
// Firefox, Opera 8.0+, Safari 对不同
浏览器
常见不同对象
xmlHttp=new XMLHttpRequest();
catch (e)
// Internet Explorer
xmlHttp=new ActiveXObject('Msxml2.XMLHTTP');
catch (e)
xmlHttp=new ActiveXObject('Microsoft.XMLHTTP');
catch (e)
alert('Your browser does not support AJAX!');
return false;
xmlHttp.onreadystatechange=function()
if(xmlHttp.readyState == 4 && xmlHttp.status == 200)
var someDiv = document.getElementById('someDiv');
someDiv.inner
HTML
=xmlHttp.responseText;
xmlHttp.open('GET','www/index.jsp?param1='+var1+'¶m2='+var2,true);
xmlHttp.send(null);
6.3 系统架构与数据库的连接
由于我们开发时是利用MVC的设计模式,所以在此我们的数据库连接是封存在M中的,即只要我们和M层连接上,就已经连接上数据库了。
Hibernate使用数据库和配置信息来为应用程序提供持久化服务(以及持久的对象)。我们只需在hibernate.cfg.xml中配置以下语句即可:
jdbc:microsoft:sqlserver://localhost:1035;DatabaseName=webexamine
org.hibernate.dialect.SQLServerDialect
sqlserver2000
aaaaaaaa
com.microsoft.jdbc.sqlserver.SQLServerDriver
org.hibernate.dialect.HSQLDialect
其实我们在这里配置了一个数据连接,以保证系统的正常运行,我们需要使用proxool连接池,我们经测试,分别用proxool、tomcat JNDI、Hibernate自带的连接池进行配置之后分别执行以上的10000条数据插入和读取,结果
显示
proxool的性能要优于tomcat JNDI,而Hibernate自带的就更不用提了,差很远。依次为:39265毫秒/10000条、26013毫秒/10000条、50029毫秒/10000条。
6.4数据的备份与还原
我们根据Mysql数据库提供的backup(备份)命令及restore(恢复)命令,进行数据库的备份与还原,在连接数据库后,我们在需要备份和还原的地方加入以下语句:
backup database to disk='备份文件名'
restore database from disk='备份文件名'
然后发送给数据库的管理对象进行数据还原与备份。
在知道了数据库备份与还原的接口后,用JAVA进行具体的连接,这里采用JAVA直连的方
法,
部分
代码如下:
String user="sa";//连接sqlserver2000数据库登陆名
String password="aaaaaaaa";//连接sqlserver2000数据库密码
String sDBDriver="com.microsoft.jdbc.sqlserver.SQLServerDriver";//连接数据库的驱动字符串
String connStr="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=webexamine";//注册连接字符串
Connection con=null;
Class.forName( sDBDriver);//注册数据库驱动
con = Driver Manager.getConnection(connStr ,user,password);//获取数据库连接
String sql="backup database xncsims to disk='d:\\xncback.dat'";//备份数据库,还原数据库和着类似,只是将这句变为还原的语句
st=con.createStatement();//创建发送对象
rs=st.executeQuery(sql);//这里就是把你的SQL语句发到数据库执行
}catch(SQLException e){ System.out.println(e.toString());}
catch(Exception e){ System.out.println(e.toString());}
6.4
部分
效果预览图
5.2.1. Ext.MessageBox.alert()
5.2.2. Ext.MessageBox.confirm()
5.2.3. Ext.MessageBox.prompt()
5.3. 如果你想的话,可以控制得更多
5.3.1. 可以输入多行的输入框
5.3.2. 再看一个例子呗
5.3.3. 下一个例子是进度条
5.3.4. 动画效果,跳出来,缩回去
5.4. 让弹出窗口,
显示
我们想要的东东,比如表格
5.4.1. 2.0的弹出表格哦
5.4.2. 向2.0的window里加表格
5.4.3. 1.x里的叫做BasicDialog
5.4.4. 把form放进对话框里
6. 奔腾吧!让不同的
浏览器
里
显示
一样的布局。
6.1. 有了它,我们就可以摆脱那些自称ui设计师的人了。
6.2. 关于BorderLayout
6.3. 嗯,不如再看看附加效果
6.3.1. 先看看split
6.3.2. 再试试titlebar
6.3.3. 还不够,还不够,让四周的区域可以缩起来
6.3.4. 给这些区域都加上个关闭按钮
6.3.5. 用NestedLayoutPanel在五块中再进行分割,实现更复杂的布局
6.4. 2.0的ViewPort是完全不同的实现
6.5. 脑袋上有几个标签的tabPanel
6.6. 让布局复杂一点儿
7. 低鸣吧!拖拽就像呼吸一样容易。
7.1. 如此拖拽,简直就像与生俱来的本能一样。
7.2. 第一!乱拖。
7.3. 第二!代理proxy和目标target
8. 哭泣吧!现在才开始讲基础问题。
8.1. Ext.get
8.2. 要是我们想一下子获得一堆元素咋办?
8.3. DomHelper和Template动态生成
html
8.3.1. DomHelper用来生成小片段
8.3.2. 批量生成还是需要Template模板
8.4. Ext.data
命名
空间
8.4.1. proxy系列
8.4.1.1. 人畜无害的MemoryProxy
8.4.1.2. 常规武器HttpProxy
8.4.1.3. 洲际导弹ScriptTagProxy
8.4.2. reader系列
8.4.2.1. 简单易行ArrayReader
8.4.2.2. 灵活轻便JsonReader
8.4.2.3. 久负盛名XmlReader
8.4.3. 相信你知道怎么做加法
8.5. 跟我用json,每天五分钟
8.5.1. Hello 老爸。
8.5.2. 老妈等等,孩子先上场。
8.5.3. 老妈来了,老妈来啦。
8.5.4. Ext对json的支持力度
8.5.5. 反向操作,ext把json变成字符串
8.6. 小声说说scope
8.7. 菜单和工具条
8.7.1. 至简至廉的菜单
8.7.2. 丰富一点儿的多级菜单
8.7.3. 单选多选,菜单里搞这套
8.7.4. 小把戏,定制好的菜单
8.7.5. SplitButton让按钮和菜单结合
9. 沉寂吧!我们要自己的控件。
9.1. 下拉树形选择框TreeField
9.2. 带全选的checkbox树形CheckBoxTree
9.3. 带全选的checkbox的grid
9.4. fisheye
9.5. 可以设置时间的日期控件
9.6. JsonView实现用户卡片拖拽与右键菜单
9.7. 下拉列表选择每页
显示
多少数据
10. 撕裂吧!邪魔外道与边缘学科。
10.1. dwr与ext整合
10.1.1. 无侵入式整合dwr和ext
10.1.2. DWRProxy
10.1.3. DWRTreeLoader
10.2. localXHR让你在不用服务器就玩ajax
10.3. 在form中使用fckeditor
A. 常见问题乱弹
A.1. ext到底是收费还是免费
A.2. 怎么查看ext2里的api文档
A.3. 如何在页面中引用ext
A.3.1. 顺便说说常见的Ext is not defined错误
A.4. 想把弹出对话框单独拿出来用的看这里
A.5. 想把日期选择框单独拿出来用的看这里
A.6. 听说有人现在还不会汉化ext
A.7. 碰到使用ajax获得数据,或者提交数据
出现
乱码
A.8. TabPanel使用autoLoad加载的页面中的js脚本没有执行
B. 修改日志
C. 后记
C.1. 2007年12月5日,迷茫阶段
C.1.1. 仇恨
C.1.2. 反省
C.2. 关于ext与dwr整合
部分
的讨论
C.3. 怎么看文档附件里的范例
D. 贡献者列表
D.1. 感谢[飘17804726]的大力支持
D.2. 感谢[吧啦吧啦286556983]的大力支持
D.3. 感谢[游戏人生395181055]的大力支持
D.4. 感谢[綄帥77793603]的大力支持
D.5. 感谢[葡萄5793699]的大力支持
D.6. 感谢[天外小人442540141]的大力支持
D.7. 感谢[我想我是海39893874]的大力支持
D.8. 还要感谢:
来自 family168 网站的的新版extjs教程
说在前头的
1. 闪烁吧!看看extjs那些美丽的例子。
1.1. 一切从extjs发布包开始
1.2. 看看ext-1.1.1的文档
1.3. 看看ext-2.0的文档
1.4. 为什么有的例子必须放在服务器上才能看到效果?
1.5. 为什么自己按照例子写的代码,
显示
出来总找不到
图片
1.6. 我们还需要什么?
1.7. 入门之前,都看helloworld。
1.7.1. 直接使用下载的发布包
1.7.2. 只把必要的东西放进项目中
2. 震撼吧!让你知道ext表格控件的厉害。
2.1. 功能丰富,无人能出其右
2.2. 让我们搞一个grid出来耍耍吧。
2.3. 上边那个是1.x的,2.0稍微有些不同哦
2.4. 按顺序,咱们先要把常见功能讲到
2.4.1. 自主决定每列的宽度
2.4.2. 让grid支持按列排序
2.5. 让单元格里
显示
红色的字,
图片
,按钮,你还能想到什么?
2.6. 更进一步,自动行号和多选checkbox
2.6.1. 自动行号
2.6.2. 全选checkbox的时间了,请允许我让2.0先上场。
2.6.3. 1.x时代的全选checkbox。
2.7. 分页了吗?分页了吗?如果还没分就看这里吧。
2.7.1. 表面工作,先把分页工具条弄出来。
2.7.2. 2.0赐予我们更大的灵活性
2.7.3. 迫不得已,要加上后台脚本了。
2.7.4. 其实分页不一定要踩在脚下,也可以顶在头上。
2.8. 爱生活,EditorGrid。
2.8.1. 旋动舞步,看我们怎么把这个EditorGrid炫出来。
2.8.2. 添加一行,再把它踢掉
2.8.3. 一切就绪,你可以按保存按钮了。
2.8.4. 天马行空,保证提交的数据绝对有效
2.8.5. 限制类型,让用户只能选择我们提供的数据
2.9. 连坐法,关于选择模型
2.10. 2.0有,1.x里没有的那些可怕的控件
2.10.1. 谓之曰PropertyGrid属性表格
2.10.2. 分组表格,嘻嘻,这是交叉报表吗?
2.11. 午夜怪谈,论可以改变大小,可以拖拽的表格
2.11.1. 先看看怎么拖拽改变表格的大小
2.11.2. 再看怎么在表格里拖动行
2.11.2.1. 无用功 之 同一个表格里拖拽
2.11.2.2. 无间道 之 从这个表格拖到另一个表格
2.11.2.3. 无疆界 之 从表格里拖到树上
3. 歌颂吧!只为了树也要学ext。
3.1. 真的,我是为了树,才开始学ext的。
3.2. 传统是先做出一棵树来。
3.3. 超越一个根
3.4. 你不会认为2.0里跟1.x是一样的吧?
3.5. 这种装配树节点的形式,真是让人头大。
3.6. jsp的例子是一定要有的
3.7. 让你知道树都可以做些什么
3.7.1. 检阅树形的事件
3.7.2. 右键菜单并非单纯的事件
3.7.3. 默认图标好单调,改一下撒
3.7.4. 偷偷告诉你咋从节点弹出对话框
3.7.5. 小小提示
3.7.6. 给树节点设置超链接
3.8. 灰壳显灵!让我直接修改树节点的名称吧!
3.9. 我拖,我拖,我拖拖拖。
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,
Html
AgilityPack, 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示例在单独
浏览器
打开后,不能弹出对话框的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)。
-修正
Html
Editor不能编辑的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会紧挨着页面标签引入,这样在中自定义的样式可以覆盖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,则点击关闭按钮时报JS错误。[fixed]
-页面包含FileUpload控件,需要点击按钮回发并上传文件,则不能采用原生AJAX方式。(参见示例aspnet/fileupload.aspx)[fixed]
-
Html
Editor
显示
隐藏工具栏按钮不起作用,
Html
Editor目前不支持Enabled和Readonly两个属性。[fixed]
+2009-03-03 v1.3.0
-如果弹出的窗口(Ext-Window)含有ASP.NET控件FileUpload,则此弹出窗口在关闭时
出现
JS错误(http://extjs.com/forum/showthread.php?t=8129)[feedback:xlli]。[fixed]
-如果页面中存在ASP.NET控件(TextBox),则第二次提交表单就会报错(视图状态不对,其实时没有更新EventValidation隐藏字段导致的问题)。[fixed]
-页面上放置ExtAspNet-Button和ASP.NET-Button,则点击ExtAspNet-Button时激发的是ASP.NET-Button的事件,这个BUG和Extjs2.2.1中Ext.Ajax.serializeForm的实现有关。[fixed]
-ExtAspNet内部包含
Html
AgilityPack和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”改成更加友好的提示信息“本次连接失败!可能是网络连接出错,请刷新页面重试。”。[fixed]
-自动测试功能会在以后版本中逐步完善。这个版本完成测试框架,采用Extjs中JS函数进行大
部分
的测试,对于一些难以测试的地方借助jQuery完成。[fixed]
+系统底层代码优化(主要是Javascript的封装和BUG修复)。[fixed]
-底层使用Javascript创建一个Window控件的代码由原来的2000字符减少为500个字符。
-PageContext静态类中的GetPageStateChangedFunction改名为GetConfirmFormModifiedReference,底层代码优化。表示“获取当前页面中表单修改的确认提示框的脚本”。
---[updated]删除PageContext中的GetConfirmFormModifiedReference,使用CurrentActiveWindow中的GetConfirmFormModifiedCloseReference/GetConfirmFormModifiedCloseRefreshReference/GetConfirmFormModifiedClosePostBackReference三个方法代替。
-不会修改弹出页面的URL(Ext-Window中的IFrame),以前为了实现功能为每个弹出页面添加box_parent_client_id查询字符串
-去除PageManager的RegisterPageStateChangedScript属性,现在已经将这个功能实现为静态的JS方法。可以通过PageContext.GetFormModifiedConfirmReference获取此方法的客户端脚本。
---注意:以前的项目需要在所有的ASPX页面中查找RegisterPageStateChangedScript属性,并删除,否则会运行错误!
-A页面有Ext-Window控件弹出B页面,B页面有Ext-Window控件弹出C页面,B页面的Ext-Window控件设置Target='_parent',则弹出的Ext-Window(C页面)会覆盖整个A页面,这是正确的。
---当时如果用户直接访问B页面,就会报JS错误,因为此时找不到B页面的父页面A了。现在的版本修正为如果找不到父页面,则就在当前页面弹出窗口,这样用户直接访问B页面也不会出错了。
-Window控件的GetIFramePageStateChangedFunction函数改名为GetConfirmFormModifiedCloseReference,表示“获取先确认IFrame的页面中表单改变,然后关闭弹出窗口的客户端脚本”。
---为Window控件增加如下两个方法GetConfirmFormModifiedCloseRefreshReference和GetConfirmFormModifiedClosePostBackReference,表示“先确认表单改变,然后关闭弹出Ext-Window,再然后刷新父页面或回发父页面”。
---Window控件的OnClientCloseButtonClick属性如果不设置,则默认采用GetConfirmFormModifiedCloseReference,也即是先判断表单是否更新,然后在关闭窗口。
---现在可以很方便的为Window控件的关闭按钮添加关闭后刷新父页面或者关闭后回发父页面的行为。
-如果弹出窗口(Window控件)中IFrame的页面不能正常加载(网络暂时出错或页面抛出异常),则此时点击右上角的关闭按钮会报JS错误,因为此时页面尚未加载完毕。
---此版本修正了这个BUG,即时页面不能加载完全,也能通过右上角的关闭按钮关闭弹出含IFrame的窗体。
-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(此版本主要是Chrome的支持和
部分
内存泄漏问题的修正)。[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,分别表示在当前窗口,父窗口,顶级窗口重定向[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组件的问题。[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]
-可以方便的在子页面(iframe)中通过js切换父页面中选中的菜单项(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]
+大
部分
容器的子控件集合更正为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/
Html
Editor/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属性,如果一个菜单项的作用仅仅为了弹出下级菜单,点击没反应,则可以这样设置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解决,但会减慢页面的加载速度),现在已经解决这个问题。[fixed]
-RadioButtonList去除EnableBackgroundColor/EnableLightBackgroundColor属性,背景色是透明的,也就是和父控件(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控件是否弹出的状态在回发时维持。[fixed]
-控件设计的一个原则,凡是可以在客户端改变的属性都应该在回发时保持属性的状态。
+完全抛弃Asp.NetAjax,ExtAspNet控件内置Ajax支持。[fixed]
-这是一个值得骄傲的设计,可以明显提高页面回发的速度(相比普通的回发和Asp.netAjax的回发),对于IFrame框架的交互也起到很好的加速效果。
-不需要做任何配置,所有的回发都是Ajax(在Web.config和PageManager中有设置启用Ajax回发的属性-EnableAjax-默认为true)。
+在这种设计下,其实可以完全抛弃Javascript。
-比如简单的点击一个按钮弹出窗口,可以在Button的OnClick事件中设置Window1.Popup=true,也可以注册Button的OnClientClick=Window1.GetShowReference()。
-第一种方法需要回发,但是我们内置的Ajax支持能很快的返回需要的结果并解析,在网络速度很快的
情况
下和第二种方法差别不是很大。
-推荐的做法是尽量用客户端实现,客户端实现复杂的直接用服务器端实现。
+目前ExtAspNetAjax的限制。
-只对ExtAspNet控件起作用,对Asp.net控件不起作用。
-对容器控件(有子控件的控件)不起作用,只对最底层的控件起作用。
-对改变控件的Visible属性会有错误。
-Window控件的属性改变只有少数几个起作用(Popup,IFrameUrl)。
-PageManager增加属性EnablePageLoading和EnableAjaxLoading(启用页面第一次加载标示和Ajax加载标示,默认都为true),所以如果使用系统默认的加载标示就不必每个页面都添加PageLoading控件。[fixed]
-Grid中的回发事件(主要是LinkButtonField和CheckBoxField(RenderAsStaticField=false))要延迟0ms执行,这样当前行被选中的状态在回发后会得到保持。[fixed]
-Grid选中行的状态在第一次回发时不能保持的BUG。[fixed]
+2008-08-26 v1.0
+已知问题:IE的ActiveX插件IE Developer Toolbar会对IFrame的加载造成0.5m左右的延迟。
-主要是父页面加载一个比较大的css文件(~100k),则每次打开iframe页面,onload事件的调用都会有500ms左右的延迟,在测试IE性能时要禁用此插件。
+优化弹出窗口中IFrame的
显示
速度。[fixed]
-在当前页面弹出窗口需要~20ms,在父页面弹出窗口需要100~300ms。通过缓存弹出的窗口实例,从而第二次弹出窗口不再需要创建时间。
-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页面中使用父页面的脚本和样式(示例在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;
+需要先回发页面再弹出IFrame窗口。[fixed]
-在回发时设置窗口的Popup和IFrameUrl属性,因为这些属性是可以保持状态的,所以在关闭窗口时要注意设置Popup=false。
-另一种做法(推荐):PageContext.RegisterStartupScript(Window99.GetShowReference("./simpleform.aspx"));。
+2008-08-15 v0.4 beta5
-点击关闭窗口的按钮,在IE6下会有JS错误。[fixed]
-增加BorderLayout控件,示例在iframe/borderlayout.aspx。[fixed]
+Radiobuttonlist
显示
有重影(示例在radio.aspx)。[fixed]
-全新的样式。
-去除Horizontal属性,增加ColumnNumber(可以设置渲染成几列)。
-GetValueReference取得的值不正确的BUG。
-动态向Form中添加FormRow,并动态的向FormRow中添加表单字段,以及如何取得表单字段的值。(示例在form_dynamic.aspx)[fixed]
+IFrame弹出窗口关闭后回发父页面,则会多加载IFrame一次,再次打开窗口会重复加载IFrame2-3次[feedback:xmzhu]。[fixed]
-这是一个重要的BUG,会严重影响页面的加载速度。原因是通过脚本改变的IFrameUrl会在回发时保持状态,从而回发父页面后Window中的IFrame被添加到页面,而这是不需要的。
-现在"是否弹出窗口、窗口标题、IFrameUrl"在客户端的改变,不会影响服务器端的属性,也即是不保持状态。此问题解决。(示例在button_iframe.aspx)
+2008-08-13 v0.4 beta4
-点击关闭窗口的按钮,在IE下会有JS错误。[fixed]
-Window的右上角关闭图标增加提示,优化事件响应。[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中的保存并关闭按钮和Asp.netAjax冲突。[fixed]
-优化关闭Window的js脚本,减少写到页面的js大小。[fixed]
-加快“保存并关闭”按钮关闭窗口的速度,使用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]
+弹出窗口中,点击按钮回发然后点击关闭按钮,
出现
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,通过点击按钮弹出IFrame窗口,可直接关闭父页面,也可在关闭后刷新或回发父页面。(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中弹出窗口。(default.aspx/page3.aspx/simpleform.aspx)
+示例3,TriggerBox弹出窗口。(default.aspx/triggerbox.aspx/simpleform.aspx)
-在整个页面弹出窗口或者在当前页面弹出窗口,仅仅设置Window的Target属性即可。
-示例4,弹出窗口中的弹出窗口。
-对整个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]
+规范关闭窗口时提示用户保存已经修改的内容提示的调用方式(包含iframe中关闭按钮和window右上角关闭图标的调用方式)(示例在grid_iframe.aspx/simpleform.aspx)。[fixed]
-内部实现上,点击“保存并关闭按钮”,可以将关闭窗口的脚本更早的执行(在simpleform.aspx,PageContext.RegisterStartupScript增加重载函数),而不是原来的先创建整个页面UI,再关闭窗口。
-参照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控件,如果一个节点不是叶子节点并且没有子节点,则应把它的Expanded设置为false,否则会引起页面死循环回发 [feedback:zgjiang2]。[fixed]
-Image增加ToolTipTitle/ToolTipAutoHide两个属性,当提示信息特别长时,可以让用户阅读完毕之后手工关闭提示信息(示例在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控件,则渲染
时会
出现
各种问题,比如下拉列表
显示
样式出错,Grid没了滚动条等等。[fixed]
-隐蔽性非常强,原来在ContentPanel中渲染ExtAspNet控件,如果容器的display='none',则会
出现
各种问题(主要是大小不对)。
必须设置容器为visibility='hidden',然后在渲染完成后
显示
容器。
-现在Grid只要
显示
的设置高度和宽度,或者隐式的设定宽度高度(通过Anchor或Fit布局实现),只要超过Grid容器就会
显示
滚动条。
+IE6下,在应用Asp.NetAjax后,Form中字段的宽度渲染不正确。[fixed]
-调试相当困难,如果你有过在IE下通过alert发现问题的经历,你就能明白。
-最后发现IE6下应用Asp.NetAjax后不仅Form中列的宽度设置不正确,而且主内容区域的宽度设置也不正确,不过最终我们还是顽强的修复了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();),
这样的代码让我想起刷新窗口时那个方法(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,则不能在回发时关闭当前窗口[feedback:huihuang](示例在ajax_editor_main.aspx/ajax_editor.aspx)。[fixed]
-这是由于ajax后执行的javascript中不能有return false语句。
+在文本框失去焦点时,执行一些Javascript脚本(示例在textbox_blur.aspx) [feedback:xmzhu]。[fixed]
-在页面添加onReady函数(会被系统调用),然后用javascript监视文本框值的改变。
-弹出Window默认
显示
的错误页面,解决方法在当前目录添加一个空的
html
页面,然后把Window控件的IFrameUrl指向这个页面而不是"#"。[fixed]
+弹出的窗口中的弹出窗口的如果内容发生变化,则点击右上角的关闭按钮
时会
有提示用户先保存的对话框,但是这个对话框的被第二个弹出窗口覆盖了 [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=";"即可。
+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下只能有一个子节点,比如box:Panel。
-示例在ajax3.aspx/content_page4.aspx。
-示例content_page3.aspx中,点击“Ajax查询”按钮和关闭弹出的窗口(点击右上角的叉)都引发异步更新。
+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
+关闭前提示当前页面已经被修改(示例在content_page1.aspx/simpleform.aspx)[fixed]
-支持Iframe内按钮和window右上角关闭按钮。
-删除CloseAction属性,可以在后台通过OnClientCloseButtonClick属性指定(为了和iframe中做法一致)。
+iframe中的alert/confirm要覆盖整个父页面,而不仅仅是iframe页面。[fixed]
-在Firefox下还有问题。[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]
-关闭Window时PostBack事件OnClose可以指定参数,来区分是哪些操作引发的PostBack事件 [feedback:zgjiang2](示例在window_postback.aspx)。[fixed]
-如果表单验证不通过,则需要弹出对话框提示(第一个没通过验证的字段)(目前还不能切换到相应的tab)。[fixed]
+页面中任意可输入表单字段发生变化,可提示先保存。(示例在content_page1.aspx/simpleform.aspx)[fixed]
-目前还不支持Window右上角关闭按钮的提示保存功能。
-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窗体中的
Web实验报告 课题:网页设计与制作 专业:通信工程 班级: 学号: 一.实验任务: 设计制作一个《网页设计与制作》精品课程网站 二.实验要求: (1)站点目录: 要求层次分明,不能将内容都放在站点根目录下;不要使用
中文
;为每种类型文件都建 立一个独立的目录。(例如images文件夹用于存放图象,目录的层次不能没有,但必须尽 量少,以便于管理 。) (2)填写网站设计报告: 必须认真填写网站设计报告中的每一项,完成网站结构的设计说明,包括以下各项内容 : 1) 网站主题:必须围绕一个确定主题创建网站,否则成绩以不及格计。 2) 站点名称:必须为自己的站点
命名
,名称要紧扣站点主题,并反映在每个网页上。 3) 站点根文件夹:以个人学号及姓名
命名
。 4)文件与文件夹:网站内使用的
图片
放在images文件夹中,主页以index.htm命 名,其它文件夹自已
命名
,要以有意义的英文字母来
命名
,不要使用
中文
,网页文件也 要使用有意义的英文来
命名
。 5) 站点结构:分类存放网站中的资源,一律以树型目录结构表示并说明文件夹的用途 。 6) 站点地图:以结构图方式给出网页的名称和各页面间的超级链接。 7) CSS、行为:说明制作、使用了几个CSS样式,说明CSS样式的名称,为什么内容添加 、制作了什么行为。 2. 网站内容要求 (3人一组) (1)网站至少要有8个页面,可以使用表格、框架等来进行统一布局。 (2)网站的站标(Logo)使用自已制作的图像,网站名称自已
命名
,要跟网站的主 题一致。 (3)按提供的课件等资料添加链接或下载功能。 (4)每个网页有自己的适当的标题、导航条。注意:网页标题是指
显示
在
浏览器
标 题栏上的文字,而不是网页中的段落标题。每个网页都能够返回上一级页面或首页。 (5)网站中要使用CSS,要使用行为制作动态效果,超链接效果正确无误,要有锚点链 接,要有背景音乐,要能够提供文件下载,要有flash动画。 可添加视频文件等。 实验内容: 该网站设计共使用了9个
HTML
页面。 采用了frame框架结构:由frame1,frame2,frame4,及相关页面构成。 进入shouye.
html
后,播放背景音乐; frame2中点击各个选项,分别跳转到相关界面; 资料页面:采用链接,可实现课件资源的调用; Flash页面:实现了锚点连接,超链接,flash图像的播放 留言板:代码中写入了相关留言,可点击查看。 设计中使用了CSS的设计,菜单界面歌词
部分
使用了表格结构,共调用了3个CSS方法;名 字分别为:.unnamed1,.text和.bt。内容如下: .unnamed1 { font-size: 13px; line-height: 16px; } .text {font-family: Arial, sans-serif; text-align:right; } .bt {font-family:"宋体"; color:#F60; } 分别对字体,大小及颜色进行各自不同的设置; 留言板
部分
也使用了div进行布局; 超链接正常无误,均能返回上一层;点击"返回菜单"后各页面均可回到主页面。 效果如下: 结构图: Img文件夹 jpg
图片
flash
图片
根目录 yinyue文件夹 mp3音乐文件 Ziliao文件夹 课件压缩包
Html
页面 实验总结: 通过本次的Web实验,我对网页制作及开发有了更深层的了解。制作过程中,运用了框架 ,链接,CSS等方法。不仅完成页面的跳转,也实现了本地保存资料,锚点连接,flash 等功能。对于网页制作的工具及使用,我有了进一步的熟悉和了解。 制作过程中遇到了一些问题,但在同学的帮助下,都克服了困难。这些经历让我对设计 细节有了更详细的关注,是十分宝贵的人生经验。我对网页的设计存在着浓厚的兴趣, 希望在今后的时间里,我还能有更多的机会接触到WEB这门知识。 ----------------------- Web实验报告(2)全文共6页,当前为第1页。 Web实验报告(2)全文共6页,当前为第2页。 Web实验报告(2)全文共6页,当前为第3页。 Web实验报告(2)全文共6页,当前为第4页。 Web实验报告(2)全文共6页,当前为第5页。 Web实验报告(2)全文共6页,当前为第6页。
也是网上搜到别人转载的方法,于是转到自己的博客、
找到tomcat——>conf——>server.xml文件, 在server.xml中类似如下配置:< Connector port="8080"
URIEncoding="UTF-8" / >其中 URIEncoding=”UTF-8” 这项,其含义是指定URI的编码为:UTF-8。
在后面加上这一项后问题就可以解决了。
var showDetails=function(){
var imageEle=document.getElementById("images");
//获取文件上传域内输入的多个文件
var fileList=imageEle.files;
//遍历每个文件
for(var i=0;i<file