程序人生

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  146 随笔 :: 0 文章 :: 29 评论 :: 3 引用

2008年3月28日 #

     摘要: Event 事件事件源对象event.srcElement.tagNameevent.srcElement.type捕获释放event.srcElement.setCapture();event.srcElement.releaseCapture();事件按键event.keyCodeevent.shiftKeyevent.altKeyevent.ctrlKey事件返回值event.returnV... 阅读全文
posted @ 2008-03-28 13:51 程序人生-123 阅读(66) | 评论 (0)编辑

1:呈现服务器控件

如果控件要呈现用户界面元素或者任何其他客户端可见的元素,则应从WebControl类派生该控件。如果控件要呈现在客户端浏览器中不可见的元素(如隐藏元素或 meta元素),则应从 Control 派生该控件。Control最重要的方法是Render方法,它允许为一个HtmlTextWriter对象提供服务器控件的内容。HtmlTextWriter类将字符和文本写入到ASP.NET服务器控件输出流。其主要的方法如下:

方法

说明

AddAttribute

对于HtmlTextWriter对象通过对RenderBeginTag方法的后续调用创建的元素,向其开始标记中添加指定的标记属性和值。

WriteStyleAttribute

向其开始标记中添加标记样式属性

WriteAttribute

将标记属性及其值写入到输出流

RenderBeginTag

将标记元素的开始标记写入输出流

RenderEndTag

将标记元素的结束标记写入输出流

WriteBeginTag

将任何制表符间距和指定标记元素的开始标记写入到输出流

WriteEndTag

写入指定的标记元素的任何制表间距和结束标记。

当用WebContent类来派生类的时候,可以使用RenderBeginTagRenderEndTag来写HTML的开始和结束标记,这时我们应该重写RenderContents方法来向服务器控件的输出流中写文本,不要使用Render方法实现,这是因为WebControlRender方法实现了一段程序,这段程序向外部提供带有样式信息的标签。

下面用一个简单的例子说明一下,创建了一个在浏览器上呈现超链接的服务器控件。

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Drawing;

namespace Sunfish.Controls

{

    public class MyLinkControl : WebControl

    {

        Color color = Color.Blue;

        ///<summary>

        ///链接文本颜色

        ///</summary>

        public Color LinkColor

        {

            get { return color; }

            set { color = value; }

        }

        string hyperLink = "http://www.163.com";

        ///<summary>

        ///链接地址

        ///</summary>

        public string HyperLink

        {

            get { return hyperLink; }

            set

            {

                if (value.IndexOf("http://") == -1)

                {

                    throw new Exception("Specify Http as the protocal");

                }

                hyperLink = value;

            }

        }

        string text = "网易";

        public string Text

        {

            get { return text; }

            set { text = value; }

        }

        int fontSize = 20;

        public int FontSize

        {

            get { return fontSize; }

            set { fontSize = value; }

        }

        protected override void RenderContents(HtmlTextWriter writer)

        {          

            writer.AddAttribute(HtmlTextWriterAttribute.Href, hyperLink);

            writer.AddStyleAttribute(HtmlTextWriterStyle.FontSize, fontSize.ToString());

            writer.AddStyleAttribute(HtmlTextWriterStyle.Color, ColorTranslator.ToHtml(color));

            writer.RenderBeginTag(HtmlTextWriterTag.A);

            writer.Write(text);

            writer.RenderEndTag();

        }

    }

}

转自:http://www.cnblogs.com/sunfishlu/archive/2008/03/27/1125699.html

posted @ 2008-03-28 10:00 程序人生-123 阅读(34) | 评论 (0)编辑

meta是用来在HTML文档中模拟HTTP协议的响应头报文。meta 标签用于网页的<head>与</head>中,meta 标签的用处很多。meta 的属性有两种:name和http-equiv。name属性主要用于描述网页,对应于content(网页内容),以便于搜索引擎机器人查找、分类(目前几乎所有的搜索引擎都使用网上机器人自动查找meta值来给网页分类)。这其中最重要的是description(站点在搜索引擎上的描述)和keywords(分类关键词),所以应该给每页加一个meta值。比较常用的有以下几个: 

 

  name 属性 

  1、<meta name="Generator" contect="">用以说明生成工具(如Microsoft FrontPage 4.0)等; 

  2、<meta name="KEYWords" contect="">向搜索引擎说明你的网页的关键词; 

  3、<meta name="DEscription" contect="">告诉搜索引擎你的站点的主要内容; 

  4、<meta name="Author" contect="你的姓名">告诉搜索引擎你的站点的制作的作者; 

  5、<meta name="Robots" contect= "all|none|index|noindex|follow|nofollow"> 

  其中的属性说明如下: 

  设定为all:文件将被检索,且页面上的链接可以被查询; 

  设定为none:文件将不被检索,且页面上的链接不可以被查询; 

  设定为index:文件将被检索; 

  设定为follow:页面上的链接可以被查询; 

  设定为noindex:文件将不被检索,但页面上的链接可以被查询; 

  设定为nofollow:文件将不被检索,页面上的链接可以被查询。 

  http-equiv属性 

  1、<meta http-equiv="Content-Type" contect="text/html";charset=gb_2312-80"> 

 <meta http-equiv="Content-Language" contect="zh-CN">用以说明主页制作所使用的文字以及语言; 

  又如英文是ISO-8859-1字符集,还有BIG5、utf-8、shift-Jis、Euc、Koi8-2等字符集; 

  2、<meta http-equiv="Refresh" contect="n;url=http://yourlink">定时让网页在指定的时间n内,跳转到页面http://yourlink; 

  3、<meta http-equiv="Expires" contect="Mon,12 May 2001 00:20:00 GMT">可以用于设定网页的到期时间,一旦过期则必须到服务器上重新调用。需要注意的是必须使用GMT时间格式; 

  4、<meta http-equiv="Pragma" contect="no-cache">是用于设定禁止浏览器从本地机的缓存中调阅页面内容,设定后一旦离开网页就无法从Cache中再调出; 

  5、<meta http-equiv="set-cookie" contect="Mon,12 May 2001 00:20:00 GMT">cookie设定,如果网页过期,存盘的cookie将被删除。需要注意的也是必须使用GMT时间格式; 

  6、<meta http-equiv="Pics-label" contect="">网页等级评定,在IE的internet选项中有一项内容设置,可以防止浏览一些受限制的网站,而网站的限制级别就是通过meta属性来设置的; 

  7、<meta http-equiv="windows-Target" contect="_top">强制页面在当前窗口中以独立页面显示,可以防止自己的网页被别人当作一个frame页调用; 

  8、<meta http-equiv="Page-Enter" contect="revealTrans(duration=10,transtion= 50)">和<meta http-equiv="Page-Exit" contect="revealTrans(duration=20,transtion=6)">设定进入和离开页面时的特殊效果,这个功能即FrontPage中的“格式/网页过渡”,不过所加的页面不能够是一个frame页面。 

posted @ 2008-03-28 09:11 程序人生-123 阅读(88) | 评论 (0)编辑