引发自定义控件LoadPostData方法的必要条件!

王朝asp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

自定义控件要引发LoadPostData方法,需要包含一个ID为this.UniqueID的控件

可在控件组中加入一个Hidden控件!

writer.Write("<input type='hidden' name='" + me.UniqueID + "'>")

或者干脆更简单的做法,把submit的name属性设置为me.UniqueID

Imports System.ComponentModel

Imports System.Web.UI

Imports System.Web.UI.WebControls

<DefaultProperty("Text"), ToolboxData("<{0}:Login runat=server></{0}:Login>")> Public Class Login

Inherits System.Web.UI.WebControls.WebControl

Implements IPostBackDataHandler

Public Event CheckError As EventHandler

Private _user As String

Private _pass As String

Public Function LoadPostData(ByVal postDataKey As String, ByVal postCollection As System.Collections.Specialized.NameValueCollection) As Boolean Implements System.Web.UI.IPostBackDataHandler.LoadPostData

_user = CType(postCollection(Me.UniqueID & ":User"), String)

_pass = CType(postCollection(Me.UniqueID & ":Pass"), String)

If _user <> _pass Then

Return True

Else

Return False

End If

End Function

Public Sub RaisePostDataChangedEvent() Implements System.Web.UI.IPostBackDataHandler.RaisePostDataChangedEvent

OnCheckError()

End Sub

Public Sub OnCheckError()

RaiseEvent CheckError(Me, New System.EventArgs())

End Sub

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

writer.RenderBeginTag(HtmlTextWriterTag.Table)

writer.RenderBeginTag(HtmlTextWriterTag.Tr)

writer.RenderBeginTag(HtmlTextWriterTag.Td)

writer.Write("用户名:")

writer.RenderEndTag()

writer.RenderBeginTag(HtmlTextWriterTag.Td)

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

writer.AddAttribute(HtmlTextWriterAttribute.Name, Me.UniqueID & ":User")

writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "30")

writer.RenderBeginTag(HtmlTextWriterTag.Input)

writer.RenderEndTag()

writer.RenderEndTag()

writer.RenderEndTag()

writer.RenderBeginTag(HtmlTextWriterTag.Tr)

writer.RenderBeginTag(HtmlTextWriterTag.Td)

writer.Write("密码:")

writer.RenderEndTag()

writer.RenderBeginTag(HtmlTextWriterTag.Td)

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

writer.AddAttribute(HtmlTextWriterAttribute.Name, Me.UniqueID & ":Pass")

writer.AddAttribute(HtmlTextWriterAttribute.Maxlength, "30")

writer.RenderBeginTag(HtmlTextWriterTag.Input)

writer.RenderEndTag()

writer.RenderEndTag()

writer.RenderEndTag()

writer.RenderBeginTag(HtmlTextWriterTag.Tr)

writer.AddAttribute(HtmlTextWriterAttribute.Cols, "2")

writer.RenderBeginTag(HtmlTextWriterTag.Td)

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

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

writer.AddAttribute(HtmlTextWriterAttribute.Value, "提交")

writer.RenderBeginTag(HtmlTextWriterTag.Input)

writer.RenderEndTag()

writer.RenderEndTag()

writer.RenderEndTag()

writer.RenderEndTag()

End Sub

End Class

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航