• ASP.NET初识3


    1、用户控件
      以ascx作为拓展名,派生自System.Web.UI.UserControl类
      以<% @Control %>指令开始
      不能直接请求ascx文件,用户控件文件必须宿主到ASP.NET Web页面中
      用户控件中没有html、body或form元素
    2、使用用户控件
      <%@ Register Src="~/Registration.ascx" TagName="Registration" TagPrefix="uc1" %>
      TagPrefix:指定与用户控件关联的命名空间
      TagName:指定在ASP.NET Web页面中使用的用户控件的名字,可以指定任何字符串
      Src:指定用户控件的虚拟路径
      VS默认生成的TagPrefix以uc开头,TagName则直接使用用户控件的文件名
    3、在web.config中注册用户控件(用户控件不能与宿主控件的Web页面位于同一个文件夹下)
      <configuration>
        <system.web>
          <pages>
            <controls>
              <add tagPrefix="myUserControl" tagName="registration" src="~/UserControl/Registration.ascx" />
            </controls>
          </pages>
        </system.web>
      </configuration>
      使用时:用如下代码声明用户控件
      <myUserControl:registration ID="regcontrol" runat="server" />
    4、动态加载用户控件
      实现步骤:
        在Page.Load事件中加载用户控件,以便于用户控件能够恢复状态且postback事件
        使用容器控件和PlaceHolder控件来宿主用户控件,使用户控件能够显示在正确的位置
        当需要调用Page.FindControl方法查找用户控件时,可以为用户控件指定一个ID值属性以便于获取对用户控件的调用
        加载用户控件的方法是Page.LoadControl
    5、调用自定义属性和事件,需要对用户控件进行类型转换
      转换之前,在页面声明区使用<%@Reference   %>语法来引用用户控件
    6、动态绘图(GDI+绘图)
      基本步骤
      1、在内存中创建一个Bitmap位图对象,所有的绘图将在该位图上操作
      2、为上一步创建的Bitmap对象创建一个Graphics上下文对象,以便于使用System.Drawing.Graphics的属性和方法
      3、使用Graphics对象的方法来完成绘图,可以绘制图形、填充图像或者是从一个已经存在的文件中复制图像
      4、调用Response.OutputStream将图像数据以二进制格式写入浏览器
    7、基本绘图
      System.Drawing:该命名空间中定义了许多基本绘图元素,包括Pens、Brushes和Bitmaps
      System.Drawing2D:该命名空间提供高级的二维和矢量图形功能,比如GraphicsPath类
      System.Drawing.Imageing:命名空间提供高级GDI+图形处理功能,包括ImageFormat类
      System.Drawing.Text:该命名空间提供了高级的GDI+排版功能,比如文字排列方式
    8、无缩放的图像绘制
    9、输出PNG格式图像时,要先将PNG格式的图片保存到MemoryStream(可来回定位的流)流中  
        Response.ContentType = "image/png";
            MemoryStream msm = new MemoryStream();
            thumbnailImage.Save(msm, System.Drawing.Imaging.ImageFormat.Png);
            msm.WriteTo(Response.OutputStream);
            thumbnailImage.Dispose();
            msm.Dispose();
    10、速度和质量之间的优化
      Graphics对象有一个SmoothingMode的枚举属性







  • 相关阅读:
    Easy UI form表单提交 IE浏览器不执行success ,以及 datagrid 展示过慢
    JS批量获取参数构建JSON参数对象
    Easy UI datebox控件无法正常赋值
    EasyUI控件combobox重复请求后台,dialog窗口数据异常
    后台Post/Get 请求接口 方式
    WebForm 页面ajax 请求后台页面 方法
    实现输入框小数多 自动进位展示,编辑时实际值不变
    页面获取Web控件ID不能正常获取,它惹得祸
    线性表的链式存储——单链表
    线性表
  • 原文地址:https://www.cnblogs.com/changweihua/p/2086466.html
Copyright © 2020-2023  润新知