首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Ajax >

Ajax扩充控件

2012-12-28 
Ajax扩展控件?18.MutuallyExclusiveCheckBox(复选框相互排斥控件)该控件可以使复选框实现类似单选框一样的

Ajax扩展控件

?

18.MutuallyExclusiveCheckBox(复选框相互排斥控件)

该控件可以使复选框实现类似单选框一样的相互排斥的效果

?

<asp:CheckBox ID="CheckBox1" runat="server" Text="黑" />        <ajax:MutuallyExclusiveCheckBoxExtender ID="CheckBox1_MutuallyExclusiveCheckBoxExtender"             runat="server" Enabled="True" Key="颜色" TargetControlID="CheckBox1">        </ajax:MutuallyExclusiveCheckBoxExtender>        <asp:CheckBox ID="CheckBox2" runat="server" Text="白" />        <ajax:MutuallyExclusiveCheckBoxExtender ID="CheckBox2_MutuallyExclusiveCheckBoxExtender"             runat="server" Enabled="True" Key="颜色" TargetControlID="CheckBox2">        </ajax:MutuallyExclusiveCheckBoxExtender>        <asp:CheckBox ID="CheckBox3" runat="server" Text="大" />        <ajax:MutuallyExclusiveCheckBoxExtender ID="CheckBox3_MutuallyExclusiveCheckBoxExtender"             runat="server" Enabled="True" Key="大小" TargetControlID="CheckBox3">        </ajax:MutuallyExclusiveCheckBoxExtender>        <asp:CheckBox ID="CheckBox4" runat="server" Text="小"/>        <ajax:MutuallyExclusiveCheckBoxExtender ID="CheckBox4_MutuallyExclusiveCheckBoxExtender"             runat="server" Enabled="True" Key="大小" TargetControlID="CheckBox4">        </ajax:MutuallyExclusiveCheckBoxExtender>
?

只有一个值得一提的属性:Key(key属性相同的复选框相互排斥)

?

19.Nobot(拒绝机器人控件)

客户端的验证为了提高用户体验,服务器端的验证才是为了安全性。

http://www.cnblogs.com/abcdwxc/archive/2007/11/06/950816.html

http://www.cnblogs.com/dflying/archive/2007/03/16/676886.html

?

20.Rating(等级评定控件)

http://www.cnblogs.com/jaxu/archive/2009/05/16/1458264.html|推荐

HTML:

<ajax:Rating ID="Rating1" runat="server" StarCss?

WaitingStarCssEmptyStarCssCurrentRating="1"?

MaxRating="10" ?OnChanged="Stopawhile">

?</ajax:Rating>

CS:

using AjaxControlToolkit; ? ?//RatingEventArgs

protected void Stopawhile(object sender, RatingEventArgs e)

{

?? //Thread.Sleep(400);

?? ?str = e.Value; ?//e.Value得到的值就是客户选的等级,可在此将其写入数据库

?? Resoponse.Write("客户端看不见此句,但此句执行了");

//由于Rating本身就支持Ajax的无刷新效果,所以上一句Response是执行了,但由于没有回发,所以客户端看不见

}

CSS:

.ratingStar {

?? ?font-size: 0pt;

?? ?width: 13px;

?? ?height: 12px;

?? ?margin: 0px;

?? ?padding: 0px;

?? ?cursor: pointer;

?? ?display: block;

?? ?background-repeat: no-repeat;

}

.filledRatingStar {

?? ?background-image: url(../images/FilledStar.jpg);

}

.emptyRatingStar {

?? ?background-image: url(../images/EmptyStar.jpg);

}

.savedRatingStar {

?? ?background-image: url(../images/SavedStar.jpg);

}

?

?

21.TabContainer(多选项卡容器控件)

如果要在其内的某个TabPanel内添加服务端控件,需给该TabPanel加runat="server"

HTML:

??<ajax:TabContainer ID="TabContainer1" runat="server" Height="100px" Width="400px"?

??OnClientActiveTabChanged="ClientMethod" OnActiveTabChanged="TabPostBack"?

?? AutoPostBack="True">

?? ?<ajax:TabPanel ID="TabPanel1" HeaderText="Tab1" runat="server" ForeColor="Highlight">

?? ?<ContentTemplate>

?? ?<asp:TextBox ID="TextBox1" runat="server">123</asp:TextBox>

?? ?</ContentTemplate>

?? ?</ajax:TabPanel>

?? ?<ajax:TabPanel ID="TabPanel2" HeaderText="Tab2" runat="server">

?? ?<ContentTemplate>

?? ?<asp:TextBox ID="TextBox2" runat="server">456</asp:TextBox>

?? ?</ContentTemplate>

?? ?</ajax:TabPanel>

?? ?</ajax:TabContainer>

主要属性:

OnClientActiveTabChanged(Tab改变时激发的客户端方法,只能写方法名,不支持像Button控件那样OnClientClick中可加return)

OnActiveTabChanged(Tab改变时执行的服务器端方法,由于TabContainer本身支持回调,所以其跟Rating等级评

定控件一样,是"默默执行了服务端方法",要看到效果可加AutoPostBack="True"来增加回发)

??protected void TabPostBack(object sender, EventArgs e)

?? ? ? ?{ //TabContainer的ActiveTab属性可获得当前Tab

?? ? ? ? ? Label1.Text = TabContainer1.ActiveTab.HeaderText;

?? ? ? ?}

TabPanel有OnClientClick属性

TabContainer的高与宽设置的是所有TabPanel的高与宽(默认宽是整个网页的宽,高是根据其内部的控件多少来确定),貌似不能单独设置TabPanel的高与宽。

TabContainer的样式已经集成在其控件本身里面了,可以查看当时下载AjaxControlTookkit时的AjaxControlToolkit文件夹里的Tabs里的样式文件,然后按照其默认样式模板自定义在自己的项目中,这样就会取代其默认的样式

http://www.cnblogs.com/skywind/archive/2007/12/29/1019989.html

http://hejianlong.123.blog.163.com/blog/static/2671583920101943732476/

主要是要修改TabContainer的CssClass,查看网页源码可知,默认是ajax__tab_xp

http://tianmoboping.blog.163.com/blog/static/15739532200831234459235/

http://www.cnblogs.com/htht66/archive/2008/03/14/1104765.html

http://blog.csdn.net/High_Mount/archive/2009/12/17/5027043.aspx

?

?

22.ResizableControl(改变大小控件)

可以让页面中的任何控件具备大小缩放的功能,目前发现被缩放的控件只有被放到Panel控件才够完美,且该控件要设置style="width:100%;height:100%;",ResizableControl的TargetControlID=Panel的ID,这样就相当于通过调整Panel的大小间接调整该控件的大小,可以通过设置Panel的Width和Height来预先设置一个合适的大小。

HTML:

??<asp:Panel ID="Panel1" runat="server" Width="70" Height="35">

?<asp:Image ID="Image1" runat="server" ImageUrl="images/fan.jpg" style="width:100%; height:100%;"/>

?? ?</asp:Panel>

?? ?<ajax:ResizableControlExtender ID="ResizableControlExtender3" runat="server"

?? ? TargetControlID="Panel1" HandleCssMinimumHeight="20" MinimumWidth="20"

?? ? ?MaximumHeight="200" MaximumWidth="200" ResizableCssOnClientResize="Getime">

?? ?</ajax:ResizableControlExtender>

主要属性:

TargetControlID:最好像前面说的那么设置

HandleCssClass:要套用到把柄的样式表

ResizableCssClass:改变大小的时候目标控件的样式表

MinimumWidth:可调整大小的控件的最小宽度,默认值是0。

MinimumHeight:可调整大小的控件的最小高度,默认值是0。

MaximumWidth:可调整大小的控件的最大宽度,默认值是0。

MaximumHeight:可调整大小的控件的最大高度,默认值是0。

HandleOffsetX:把柄位置水平方向要偏离多少像素。

OnClientResize:当控件已经被调整大小之后,所要执行的JavaScript函数名称。

OnClientResizeBegin:当控件开始调整大小时,所要执行的JavaScript函数名称。

OnClientResizing:当控件正在被调整大小之后,所要执行的JavaScript函数名称。

CSS:

.handleImage

{ width:15px;

??height:16px;

??background-image:url(../images/HandleHand.jpg);

??overflow:hidden;

??cursor:se-resize;

}

.resizingImage

{ padding:0px;

??border-style:solid;

??border-width:3px;

??border-color:#B4D35D;

}

怎么通过javascript或后台代码(System.Drawing.Size)来得到或设置缩放大小在以下链接中有讲:

http://www.cnblogs.com/xlovey/archive/2007/11/22/967988.html

http://www.cnblogs.com/abcdwxc/archive/2007/11/09/954206.html

?

23.RoundedCornersExtender(添加圆角控件)

一定要通过Panel的属性设置高度或宽度(而不是在css里)否则将没有背景颜色的效果,但可以看到边框。

只设置宽度的话,Panel会根据其内容的高度来自动或高或低。

http://www.cnblogs.com/terrylee/archive/2006/08/09/atlas_roundedcorners_extender.html

http://www.cnblogs.com/abcdwxc/archive/2007/11/12/956939.html

http://www.cnblogs.com/zm235/archive/2008/05/09/1189558.html

热点排行