zoukankan      html  css  js  c++  java
  • 页面即对象

    网站最终向用户展现形形色色的网页,这些网页是通过流的形式传输到客户端的。

    对于Asp.net服务,浏览器的http请求为流的来源,网页响应为流的目标。我们可以通过Response.OutputStream获取输出流,直接向流内写入组成网页。

    字节流

    网页html标识符和文字以字节byte流传输的,一个字节有8bit组成,对于字节的解析对应着字符编码,常用的编码有UTF-8,中文编码GB2312。可以通过静态方法Encoding.UTF8.GetBytes对字节流或字符编码。

    字符流

    为了操作的方便,利用装装饰者模式,提供了字符流。开发者只需将字符和编码传入给流即可。

     Stream output = Response.OutputStream;
    StreamWriter sw = new StreamWriter(output);
    sw.Write("Hello World!", Encoding.UTF8);
    

    为了Html标签的输入有流,简单创建一个div

        TextWriter txtWrite = Response.Output;
        XhtmlTextWriter htmlWrite = new XhtmlTextWriter(txtWrite);
        htmlWrite.RenderBeginTag(HtmlTextWriterTag.Div);
        htmlWrite.AddAttribute(HtmlTextWriterAttribute.Id, "div");
        htmlWrite.RenderEndTag();
    

    控件

    html是一个树形结构,asp.net 也是通过一个组成模式的树形结构来拼凑Html页面的,其中每个节点为控件。为了方便操作将控件封装为对象有属性、方法和事件。开发者通过继承开发自己的控件。系统提供的控件有:HtmlControl和WebControl两种基类。

        {
            protected override string TagName
            {
                get
                {
                    return "Div";
                }
            }
            protected override void Render(HtmlTextWriter writer)
            {
            }
        }
    

    控件实现的接口

    接口名称 作用
    INamingContainer 子控件命名生成规则
    IAttributeAccessor 为控件添加或获取属性
    IPostBackDataHandler 向服务器回发数据
    IPostBackEventHandler 控件回发
  • 相关阅读:
    ci框架与smarty的整合
    jQuery 1.3.2 简单实现select二级联动
    Nginx配置https
    tp5.1最新的类库使用规则
    Linux指令大全
    Redis锁机制处理高并发
    Nginx配置https站点
    vue的入门
    HTTP 请求头中的 X-Forwarded-For,X-Real-IP
    Composer包制作以及发布!
  • 原文地址:https://www.cnblogs.com/LoveTomato/p/9114684.html
Copyright © 2011-2022 走看看