首页
最近更新
热门教程
ASP.NET
开发语言
开发环境
AJax教程
控件开发
统计报表
数据库
Web服务
安装部署
HTML教程
Javascript
XML教程
Community Server
NHibernate
书籍推荐
常用工具
实用代码
教程全文搜索
首页
>>
AJax教程
细数Ajax Control Toolkit 34个控件(一)
添加人:
admin
添加时间:2007-07-19 阅读次数:4922
收藏此教程
1. Accordion
【功能概述】
Accordion可以让你设计多个panel 并且一次只显示一个Panel .在页面上的显示效果就像是使用了多个CollapsiblePanels只不过每一次只展开其中一个CollapsiblePanel.Accordion控件内部包含了若干个AccordionPane,每一个AccordionPane的template里包括了对其Header和Content的定义。我们可以在后台代码中通过SelectedIndex属性取得当前展开的哪一个Panel,还可以控制哪一个Panel展开。
经常可以见到类似的效果,比如QQ、Msn好友分类的折叠效果。
【细节】
(1) 不要把Accordion放在Table中而又把 FadeTransitions 设置为True,这将引起布局混乱
(2) 在AccordionPane模板中的Content中可以定义任何Web元素,表现的就像一个容器
(3) AccordionPane内容模板自动改变大小有三种AutoSize modes :None(推荐) Limit Fill
(4) $find('ctl00_ContentPlaceHolder1_MyAccordion_AccordionExtender')这里找到的是Behavior.什么是Behavior呢?在Asp.net Ajax框架中包含一组动作并完成一个功能. Accordion的一个Behavior就是淡入淡出.找到Behavior的引用,behavior.set_FadeTransitions() behavior.get_FadeTransitions()的方式来实现具体某一个Behavior的访问和修改.var behavior = $find('ctl00_SampleContent_MyAccordion_AccordionExtender');这种写法是不好的,我们在自动测试的页面中发现了更好的写法:var behavior=$find("<%= MyAccordion.ClientID %>_AccordionExtender");
1
<
script
language
="javascript"
type
="text/javascript"
>
2
function
toggleFade()
{
3
var
behavior
=
$find(
'
ctl00_ContentPlaceHolder1_MyAccordion_AccordionExtender
'
);
4
if
(behavior)
{
5
behavior.set_FadeTransitions(
!
behavior.get_FadeTransitions());
6
}
7
}
8
function
changeAutoSize()
{
9
var
behavior
=
$find(
'
ctl00_ContentPlaceHolder1_MyAccordion_AccordionExtender
'
);
10
var
ctrl
=
$get(
'
autosize
'
);
//
这里找的是下拉列表控件,不是Behavior
11
if
(behavior)
{
12
var
size
=
'
None
'
;
//
这里顺便看看怎么使用Select
13
switch
(ctrl.selectedIndex)
{
14
case
0
:
15
behavior.get_element().style.height
=
'
auto
'
;
16
size
=
AjaxControlToolkit.AutoSize.None;
17
break
;
18
19
case
1
:
20
behavior.get_element().style.height
=
'
400px
'
;
21
size
=
AjaxControlToolkit.AutoSize.Fill;
22
break
;
23
case
2
:
24
behavior.get_element().style.height
=
'
400px
'
;
25
size
=
AjaxControlToolkit.AutoSize.Limit;
26
break
;
27
}
28
behavior.set_AutoSize(size);
29
}
30
if
(document.focus)
{
31
document.focus();
32
}
33
}
34
</
script
>
35
36
<
ajaxToolkit:Accordion
ID
="MyAccordion"
runat
="server"
SelectedIndex
="0"
HeaderCssClass
="accordionHeader"
37
ContentCssClass
="accordionContent"
FadeTransitions
="false"
FramesPerSecond
="40"
38
TransitionDuration
="250"
AutoSize
="None"
>
39
<
Panes
>
40
<
ajaxToolkit:AccordionPane
ID
="AccordionPane1"
runat
="server"
>
41
<
Header
>
42
<
a
href
=""
onclick
="return false;"
class
="accordionLink"
>
1. Accordion
</
a
></
Header
>
43
<
Content
>
44
</
Content
>
45
</
ajaxToolkit:AccordionPane
>
46
</
Panes
>
47
</
ajaxToolkit:Accordion
>
2. AlwaysVisibleControl
【功能概述】
AlwaysVisibleControl 是一个简单的扩展控件可以让一部分内容浮动在页面上,当滚动页面或者改变浏览器大小时总是可见的。它可以扩展任意一个Asp.net 控件,并可按照要求设置水平 竖直方向上的相对距离.
最多的应用是在线阅读的目录和不胜其烦的浮动小广告。
【细节】
(1) 避免控件闪烁,要扩展的控件要使用absolutely position
(2) HorizontalSide="Center" VerticalSide="Top" 使用这个方式控制浮动的位置
(3) Var label = ocument.getElementById('ctl00_SampleContent_currentTime');这行代码我们可以使用更简单的方法:var label = $get('ctl00_SampleContent_currentTime');
【代码示意】
<
cc1:AlwaysVisibleControlExtender
ID
="AlwaysVisibleControlExtender1"
HorizontalSide
="Center"
VerticalSide
="Top"
TargetControlID
="Panel1"
runat
="server"
>
共
1
页 第
1
页
上一页
1
下一页
相关的教程:
Ajax Control Toolkit
收藏此教程
到论坛求助
Currently.-0.05/5
0
1
2
3
4
5
6
7
8
9
10
当前平均分:
1.3
(
6
次打分)
0
1
2
3
4
5
6
7
8
9
10
推荐阅读
添加评论
评论主题
您的大名
您的评论
验证码
评论列表
ASP.NET论坛
|
网站帮助
|
加入收藏
知识库搜索:
用户信息
欢迎您,游客。
登录
|
注册
为什么要注册?
是否经常遇到以前解决过的问题,现在却忘了解决办法了?这里有一个好方法
本类热门
用AJAX实现google输入自动完成的简单模拟
利用ASP.NET AJAX实现表格更新程序
细数Ajax Control Toolkit 34个控件(一)
无限级联动菜单-AJAX版(附源码下载)
ASP.NET AJAX (Atlas) 拖放(Drag & Drop)功能6种实现方法总结
ASP.NET AJAX正式版带来的Validator问题及解决方案
[推荐]在UpdatePanel中灵活地切换不同用户控件
为 AJAX 请求添加客户端事件
本类最新
jQuery操作ajax处理json数据[Demo]
终于解决了ajax删除记录时缓存的问题!!
ASP.NET 与 Ajax 的实现方式
细数Ajax Control Toolkit 34个控件(一)
利用ASP.NET AJAX实现表格更新程序
用AJAX实现google输入自动完成的简单模拟
无限级联动菜单-AJAX版(附源码下载)
ASP.NET AJAX正式版带来的Validator问题及解决方案