当前位置: 首页>>代码示例>>VB.NET>>正文


VB.NET DataBinding类代码示例

本文整理汇总了VB.NET中System.Web.UI.DataBinding的典型用法代码示例。如果您正苦于以下问题:VB.NET DataBinding类的具体用法?VB.NET DataBinding怎么用?VB.NET DataBinding使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了DataBinding类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的VB.NET代码示例。

示例1: SimpleDesigner

' Create the custom class that accesses the DataBinding and
' DataBindingCollection classes at design time.

Public Class SimpleDesigner
    Inherits System.Web.UI.Design.ControlDesigner
    ' Create a Text property with accessors that obtain 
    ' the property value from and set the property value
    ' to the Text key in the DataBindingCollection class.

    Public Property [Text]() As String
        Get
            Dim myBinding As DataBinding = DataBindings("Text")
            If Not (myBinding Is Nothing) Then
                Return myBinding.Expression
            End If
            Return String.Empty
        End Get
        Set(ByVal value As String)

            If value Is Nothing OrElse value.Length = 0 Then
                DataBindings.Remove("Text")
            Else

                Dim binding As DataBinding = DataBindings("Text")

                If binding Is Nothing Then
                    binding = New DataBinding("Text", GetType(String), value)
                Else
                    binding.Expression = value
                End If
                ' Call the DataBinding constructor, then add
                ' the initialized DataBinding object to the 
                ' DataBindingCollection for this custom designer.
                Dim binding1 As DataBinding = CType(DataBindings.SyncRoot, DataBinding)
                DataBindings.Add(binding)
                DataBindings.Add(binding1)
            End If
            PropertyChanged("Text")
        End Set
    End Property

    Protected Sub PropertyChanged(ByVal propName As String)
        Dim myHtmlControlDesignBehavior As IControlDesignerTag = Me.Tag
        Dim myDataBindingCollection As DataBindingCollection
        Dim myDataBinding1, myDataBinding2 As DataBinding
        Dim myStringReplace1, myDataBindingExpression1, removedBinding, removedBindingAfterReplace, myDataBindingExpression2, myStringReplace2 As [String]
        Dim removedBindings1(), removedBindings2() As String
        Dim temp As Int32

        If myHtmlControlDesignBehavior Is Nothing Then
            Return
        End If

        myDataBindingCollection = DataBindings
        ' Use the DataBindingCollection constructor to 
        ' create the myDataBindingCollection1 object.
        ' Then set this object equal to the
        ' DataBindings property of the control created
        ' by this custom designer.
        Dim myDataBindingCollection1 As New DataBindingCollection()
        myDataBindingCollection1 = DataBindings
        myDataBindingCollection = DataBindings
        If (myDataBindingCollection.Contains(propName)) Then
            myDataBinding1 = myDataBindingCollection(propName)
            myStringReplace1 = propName.Replace(".", "-")
            If myDataBinding1 Is Nothing Then
                myHtmlControlDesignBehavior.RemoveAttribute(myStringReplace1)
                Return
            End If
            ' DataBinding is not null.
            myDataBindingExpression1 = [String].Concat("<%#", myDataBinding1.Expression, "%>")
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace1, myDataBindingExpression1)
            Dim index As Integer = myStringReplace1.IndexOf("-")
        Else
            ' Use the DataBindingCollection.RemovedBindings 
            ' property to set the value of the removedBindings
            ' arrays.
            removedBindings1 = DataBindings.RemovedBindings
            removedBindings2 = DataBindings.RemovedBindings
            temp = 0
            While removedBindings2.Length > temp
                removedBinding = removedBindings2(temp)
                removedBindingAfterReplace = removedBinding.Replace("."c, "-"c)
                myHtmlControlDesignBehavior.RemoveAttribute(removedBindingAfterReplace)
                temp = temp & 1
            End While
        End If
        ' Use the DataBindingCollection.GetEnumerator method
        ' to iterate through the myDataBindingCollection object
        ' and write the PropertyName, PropertyType, and Expression
        ' properties to a file for each DataBinding object
        ' in the MyDataBindingCollection object. 
        myDataBindingCollection = DataBindings
        Dim myEnumerator As IEnumerator = myDataBindingCollection.GetEnumerator()

        While myEnumerator.MoveNext()
            myDataBinding2 = CType(myEnumerator.Current, DataBinding)
            Dim dataBindingOutput1, dataBindingOutput2, dataBindingOutput3 As [String]
            dataBindingOutput1 = [String].Concat("The property name is ", myDataBinding2.PropertyName)
            dataBindingOutput2 = [String].Concat("The property type is ", myDataBinding2.PropertyType.ToString(), "-", dataBindingOutput1)
            dataBindingOutput3 = [String].Concat("The expression is ", myDataBinding2.Expression, "-", dataBindingOutput2)
            WriteToFile(dataBindingOutput3)

            myDataBindingExpression2 = [String].Concat("<%#", myDataBinding2.Expression, "%>")
            myStringReplace2 = myDataBinding2.PropertyName.Replace(".", "-")
            myHtmlControlDesignBehavior.SetAttribute(myStringReplace2, myDataBindingExpression2)
            Dim index As Integer = myStringReplace2.IndexOf("-"c)
        End While ' while loop ends
    End Sub
    Public Sub WriteToFile(ByVal input As String)
        ' The WriteToFile custom method writes
        ' the values of the DataBinding properties
        ' to a file on the C drive at design time.
        Dim myFile As StreamWriter = File.AppendText("C:\DataBindingOutput.txt")
        Dim encoder As New ASCIIEncoding()
        Dim ByteArray As Byte() = encoder.GetBytes(input)
        Dim CharArray As Char() = encoder.GetChars(ByteArray)
        myFile.WriteLine(CharArray, 0, input.Length)
        myFile.Close()
    End Sub
End Class
开发者ID:VB.NET开发者,项目名称:System.Web.UI,代码行数:121,代码来源:DataBinding


注:本文中的System.Web.UI.DataBinding类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。