操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

加上multipart/form-data编码的方法

2004-6-17 作者:jxf_yx 转载自:CSDN 网友评论 0 条 点击进入论坛

  Imports System.Web.UI

  Imports System.ComponentModel

  Public Class UpLoadFile

    Inherits System.Web.UI.WebControls.WebControl

    ''设置将窗体的数据发送到服务器时浏览器使用的编码类型

    ''multipart/form-data 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。

    Protected Overridable Sub EnsureEncType()

        Dim parent As System.Web.UI.Control = Me.Parent

        While Not (parent Is Nothing) AndAlso Not (parent.GetType Is GetType(System.Web.UI.HtmlControls.HtmlForm)) AndAlso Not (parent.GetType Is GetType(System.Web.UI.Page))

            parent = parent.Parent

        End While

        Dim myForm As System.Web.UI.HtmlControls.HtmlForm = parent

        If Not (parent Is Nothing) Then

            myForm.Enctype = "multipart/form-data"

        End If

    End Sub

    ''重写TagKey属性.编写 HTML 标记为input

    Protected Overloads Overrides ReadOnly Property TagKey() As System.Web.UI.HtmlTextWriterTag

        Get

            Return HtmlTextWriterTag.Input

        End Get

    End Property

    ''重写自定义服务器控件中的 OnPreRender 方法,

    ''当从 ASP.NET 页请求自定义控件时,在页处理的 PreRender 阶段(当服务器控件将要呈现给其包含的 Page 对象时发生)会调用 OnPreRender 方法

    Protected Overloads Overrides Sub OnPreRender(ByVal e As System.EventArgs)

        MyBase.OnPreRender(e)

        If Not (Me.Page Is Nothing) Then ''如果页面由此控件实例

            Me.EnsureEncType()

        End If

    End Sub
 
    Protected Overloads Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)

        If Not (Me.Page Is Nothing) Then

            Me.Page.VerifyRenderingInServerForm(Me) ''确认在运行时为指定的 ASP.NET 服务器控件包含在 HtmlForm 服务器控件 (<form runat="server">) 中

        End If

        MyBase.AddAttributesToRender(writer)

        MyBase.Render(writer)

    End Sub

    Protected Overloads Overrides Sub AddAttributesToRender(ByVal writer As System.Web.UI.HtmlTextWriter)

        MyBase.AddAttributesToRender(writer)

        ''输出html--file控件

        writer.AddAttribute(HtmlTextWriterAttribute.Type, "file")

        writer.AddAttribute(HtmlTextWriterAttribute.Name, Me.UniqueID)

    End Sub

  End Class

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 登录邮箱: 密码:
  匿名发表
今日推荐
技术文库(共有 46430 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail