RSS 2.0 Feed
VisualStudio2005
摘要:    HiddenField控件顾名思义就是隐藏输入框的服务器控件,它能让你保存那些不需要显示在页面上的且对安全性要求不高的数据。也许这个时候应该有这么一个疑问,为什么有了ViewState、Session和Cookie等状态保存机制,还需要“返回老套”用起HiddenField呢?增加HiddenField,其实是为了让整个状态管理机制的应用程度更加全面。因为不管是ViewState、Session还是Cookie,都有其失效的时候(比如用户因某种需求要求设置ViewState为false,或者环境条件限制使用Session或Cookie等等),那这个时候HiddenField无疑是最佳选择,也说明了简单实用的东西永远不会过期的道理。 说到这里,联想起前面的BulletedList控件的产生理由,竟然也有异曲同工之处。我想,它们虽然都是“不起眼”的控件,但是它们的再次出现带给我们的思考和意义远远比它们的技术应用带给我们的多得多。扔掉“小看”任何东西的眼镜,你都会发现它值得夸耀的一面。 HiddenField控件的主要成员有Value属性和ValueChanged事件:   l        Value:保存在隐藏输入框中的值。 l        ValueChanged:在Value值发生改变时触发该事件。不过在我的调试过程中,发现还应该再设置HiddenField控件的EnableViewState属性为False方可,默认为True的情况下将视Value值没有发生改变,从而无法触发该事件。   简单示例:Default.aspx   <%@ Page Language="C#" %>   <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">   <script runat="server">     protected void Page_Load(object sender, EventArgs e)     {         if (HiddenField1.Value == String.Empty)             HiddenField1.Value = "0";     }       protected void Button1_Click(object sender, EventArgs e)     {         HiddenField1.Value = (Convert.ToInt32(HiddenField1.Value) + 1).ToString();         Label1.Text = HiddenField1.Value;     }       protected void HiddenField1_ValueChanged(object sender, EventArgs e)     {         Response.Write("Changed." + DateTime.Now.ToString());     } </script>   <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Untitled Page</title> </head> <body>     <form id="form1" runat="server">     <div>         <asp:HiddenField ID="HiddenField1" runat="server" OnValueChanged="HiddenField1_ValueChanged" EnableViewState="False" />     </div>         <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>         <br />         <asp:Button......[阅读全文]

posted @ | Feedback (1) |

摘要:    BulletedList是一个让你轻松在页面上显示项目符号和编号格式(Bulledted List)的控件。对于ASP.NET 1.x里要动态显示Bulledted List时,要么自己利用HTML的<ol>或<ul>元素构造,要么就是“杀鸡用牛刀”的动用Repeater来显示。前者过于死板,后者过于overkill,也许微软听到这种声音,于是ASP.NET 2.0总算搞了个BulletedList出来了。这控件虽然给人不太多注意,但却看得出微软确实是在乎“用户需求”的。BulletedList控件的主要属性有BulletStyle、DisplayMode、Items和主要事件Click。   l        BulletStyle:项目符号编号样式值,对应着System.Web.UI.WebControls.BulletStyle枚举类型值。其共有以下10种选择项: 1.      Circle:表示项目符号编号样式设置为“○”空圈圈。 2.      CustomImage:表示项目符号编号样式设置为自定义图片,其图片由BulletImageUrl属性指定。 3.      Disc:表示项目符号编号样式设置为“●”实圈圈。 4.      LowerAlpha:表示项目符号编号样式设置为小写字母格式。如a、b、c、d等26个小写英文字母。 5.      LowerRoman:表示项目符号编号样式设置为小写罗马数字格式。如i、ii、iii、iv等小写的罗马数字。 6.      NotSet:表示不设置项目符号编号样式。此时将以Disc样式为默认样式显示。 7.      Numbered:表示设置项目符号编号样式为数字格式。如1、2、3、4等数字格式。 8.      Square:表示设置项目符号编号样式为“■”实体黑方块。 9.      UpperAlpha:表示设置项目符号编号样式为大写字母格式。如A、B、C、D等26个大写英文字母。 10.  UpperRoman:表示设置项目符号编号样式为大写罗马数字格式。如I、II、III、IV等大写的罗马数字。 l        DisplayMode:顾名思义为显示模式,对应着System.Web.UI.WebControls.BulletedListDisplayMode枚举类型值。其共有以下三种选择项: 1.      Text:表示以纯文本形式来表现项目列表。 2.      HyperLink:表示以超链接形式来表现项目列表。链接文字为某个具体项ListItem的Text属性,链接目标为ListItem的Value属性。 3.      LinkButton:表示以服务器控件LinkButton形式来表现项目列表。此时每个ListItem项都将表现为LinkButton,同时以Click事件回发到服务器端进行相应操作。 l        Items:该属性对应着System.Web.UI.WebControls.ListItem对象集合。项目符号编号列表中的每一个项均对应一个ListItem对象。ListItem对象有四个主要属性: ?        Enabled:该项是否处于激活状态。默认为True。 ?        Selected:该项是否处于选定状态。默认为True。 ?        Text:该项的显示文本。 ?        Value:该项的值。 l        Click:该事件在BulletedList控件的DisplayMode处于LinkButton模式下,并BulletedList控件中的某项被点击时触发。触发时将被点击项在所有项目列表中的索引号(从0开始)作为传回参数传回服务器端。   对于各种BulletStyle,这里只列出一张截图供观看,看了就明白各种BulletStyle在实际中的样子了。 阅读全文]

posted @ | Feedback (2) |

摘要:       ImageMap控件是一个让你可以在图片上定义热点(HotSpot)区域的服务器控件。用户可以通过点击这些热点区域进行回发(PostBack)操作或者定向(Navigate)到某个URL位址。该控件一般用在需要对某张图片的局部范围进行互动操作时,其主要属性有HotSpotMode、HotSpots和主要操作Click。   ?        HotSpotMode:顾名思义为热点模式,对应枚举类型System.Web.UI.WebControls.HotSpotMode。其选项及说明如下: 1)        NotSet:未设置项。虽然名为未设置,但其实默认情况下会执行定向操作,定向到你指定的URL位址去。如果你未指定URL位址,那默认将定向到自己的Web应用程序根目录。 2)        Navigate:定向操作项。定向到指定的URL位址去。如果你未指定URL位址,那默认将定向到自己的Web应用程序根目录。 3)        PostBack:回发操作项。点击热点区域后,将执行后部的Click事件。 4)        Inactive:无任何操作,即此时形同一张没有热点区域的普通图片。 ?        HotSpots:该属性对应着System.Web.UI.WebControls.HotSpot对象集合。HotSpot类是一个抽象类,它之下有CircleHotSpot(圆形热区)、RectangleHotSpot(方形热区)和PolygonHotSpot(多边形热区)三个子类。实际应用中,都可以使用上面三种类型来定制图片的热点区域。如果需要使用到自定义的热点区域类型时,该类型必须继承HotSpot抽象类。下面即有个自定义的菱形热区DiamondHotSpot范例可以参考。 ?        Click:对热点区域的点击操作。通常在HotSpotMode为PostBack时用到。   对ImageMap控件有了以上一个基本了解后,接着看ASP.NET QuickStart提供个两个应用示例和最后一个自定义菱形热区示例就会有所体会了。   示例一:ImageMap 多种HotSpotMode 示例   <%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <script runat="server">   </script> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server">     <title>Untitled Page</title> </head> <body>     <form id="form1" runat="server">     <div>     <h3><font face="Verdana">ImageMap 多种 HotSpotMode 示例</font></h3>                         <asp:imagemap id="Buttons" imageurl="hotspot.jpg" alternatetext="Navigate buttons"                 runat="Server">                                         <asp:RectangleHotSpot                 hotspotmode="Navigate"                 NavigateUrl="navigate1.htm"                 alternatetext="Button 1"                 top="30"                 left="175"                 bottom="110"                 right="355">                 </asp:RectangleHotSpot>                                 <asp:RectangleHotSpot                  hotspotmode="Navigate"                 NavigateUrl="navigate2.htm"                 alternatetext="Button 2"                        top="155"                 left="175"                 bottom="240"                 right="355">                          </asp:RectangleHotSpot>                                 <asp:RectangleHotSpot                 hotspotmode="Navigate"                 NavigateUrl="navigate3.htm"                 alternatetext="Button 3"                          top="285"                 left="175"                 bottom="365"                ......[阅读全文]

posted @ | Feedback (30) |