【问题标题】:Add Custom Property in WebPart Editor Zone在 WebPart 编辑器区域中添加自定义属性
【发布时间】:2014-05-04 11:44:17
【问题描述】:
  • 我有显示内容的 Web 部件。
  • 使用 Webpart Editor 区域我需要选择显示样式。
  • 通过选择样式,我需要将数据显示在网格或列表或滚动中(来自下拉列表)。
  • 如何在 Webpart Editor Zone 中添加自定义属性。

我是新手。

我在 Google 上搜索过,但一无所获。

感谢任何帮助。

【问题讨论】:

    标签: asp.net vb.net web-parts editor-zone


    【解决方案1】:

    作为Mathew Collins writes

    我在这里没有得到任何回复,但我想出了一个办法 做一些这些。

    1. 最后我决定重写 EditorPart 类。

    2. ApplyChanges() 和 SyncChanges() 方法本质上只是将更改从页面持久化到个性化 blob 和 反之亦然。这是在页面上呈现一些控件的问题,并且 在这些方法中将值映射到 Web 部件的属性。

    喜欢

    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Data
    Imports FormsUtilities
    
    Namespace CustomEditorZone
    
        Public Class CustomEditor : Inherits EditorPart
    
            Public Sub New()
                Me.Title = "Change Display Style"
            End Sub 'New
    
            Private PartPropertyValue As DropDownList
    
            Protected Overrides Sub CreateChildControls()
                Controls.Clear()
                PartPropertyValue = New DropDownList()
                PartPropertyValue.AppendDataBoundItems = True
                PartPropertyValue.Items.Add("")
                PopulateControl(PartPropertyValue)
                Me.Controls.Add(PartPropertyValue)
            End Sub 'CreateChildControls
    
            Public Overrides Function ApplyChanges() As Boolean
    
                EnsureChildControls()
                Dim MyWebPart As GenericWebPart = DirectCast(WebPartToEdit, GenericWebPart)
                Dim MyControl As CustomWebPart.WebPartBaseConsumer = DirectCast(MyWebPart.ChildControl, CustomWebPart.WebPartBaseConsumer)
                MyControl.DisplayStyle = PartPropertyValue.SelectedItem.Text
                Return True
    
            End Function 'ApplyChanges
    
            Public Overrides Sub SyncChanges()
                Try
                    EnsureChildControls()
                    Dim MyWebPart As GenericWebPart = DirectCast(WebPartToEdit, GenericWebPart)
                    Dim MyControl As CustomWebPart.WebPartBaseConsumer = DirectCast(MyWebPart.ChildControl, CustomWebPart.WebPartBaseConsumer)
                    Dim CurrentDisplay As String = MyControl.DisplayStyle
    
                    For Each Item As ListItem In PartPropertyValue.Items
                        If Item.Text = CurrentDisplay Then
                            Item.Selected = True
                            Exit For
                        End If
                    Next
                Catch ex As Exception
    
                End Try
    
            End Sub 'SyncChanges
    
            Protected Overrides Sub RenderContents(ByVal writer As HtmlTextWriter)
                Try
                    writer.Write("Display Style :")
                    writer.Write(" ")
                    Me.PartPropertyValue.RenderControl(writer)
                Catch ex As Exception
    
                End Try
    
            End Sub 'RenderContents
    
            Private Sub PopulateControl(ByRef PartPropertyValue As DropDownList)
    
                PartPropertyValue.Items.Add("Grid")
                PartPropertyValue.Items.Add("List")
                PartPropertyValue.Items.Add("Rolling")
            End Sub
    
        End Class 'CustomEditor
    End Namespace
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-04-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多