• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • ASP.NET 2.0中使用webpart系列控件(5)

    發表于:2007-06-30來源:作者:點擊數: 標簽:
    此外,在運行期間,還可以動態地修改Webpart控件的外觀等屬性,如下: 1) 往窗體中添加一個editor zone的區域控件,往其中再拖放一個appearanceEdiotrPart控件,該控件可以在運行時,讓用戶動態改變各webpart控件的屬性。 2) 我們再修改radiobutton選擇框的
         此外,在運行期間,還可以動態地修改Webpart控件的外觀等屬性,如下:
      
        1) 往窗體中添加一個editor zone的區域控件,往其中再拖放一個appearanceEdiotrPart控件,該控件可以在運行時,讓用戶動態改變各webpart控件的屬性。
      
      
        2) 我們再修改radiobutton選擇框的代碼如下,則加一個編輯模式:
      
      <ASP:RadioButtonList ID="rblMode" runat="server" AutoPostBack="True">
      <asp:ListItem>Browse Display Mode</asp:ListItem>
      <asp:ListItem>Design Display Mode</asp:ListItem>
      <asp:ListItem>Catalog Display Mode</asp:ListItem>
      <asp:ListItem>Edit Display Mode</asp:ListItem>
      </asp:RadioButtonList>
      
        3) 修改code-behind代碼如下:
      
      Protected Sub rblMode_SelectedIndExchanged(ByVal sender As Object, ByVal e As System.EventArgs) _
      Handles rblMode.SelectedIndexChanged
       Select Case rblMode.SelectedIndex
        Case 0 : WebPartManager1.DisplayMode = WebPartManager.BrowseDisplayMode
        Case 1 : WebPartManager1.DisplayMode = WebPartManager.DesignDisplayMode
        Case 2 : WebPartManager1.DisplayMode = WebPartManager.CatalogDisplayMode
        Case 3 : WebPartManager1.DisplayMode = WebPartManager.EditDisplayMode
       End Select
      End Sub
      
        4) 運行程序,選擇edit display mode模式,這時,會發現每個控件的右上角,會多了一個"edit"的按鈕,點該按鈕,彈出如下圖的窗體,用戶可以修改每個控件的外觀等屬性。
      
      
      
       最后,我們看下,webpart控件之間還可以進行相互之間的通信,下面的例子中,要實現的是,在一個日歷控件中點選某一個日期,會在已經做好的googlesearch的webpart控件的文本框中顯示其日期,達到通信的目的,下面介紹其實現步驟:
      
        1、為了使兩個webpart控件之間進行通信,必須先聲明一個公共的接口。往工程項目里增加一個叫ISelectedDate.VB的類文件,放在app_code目錄下,寫入如下代碼:
      
      Imports Microsoft.VisualBasic
       Public Interface ISelectedDate
       ReadOnly Property SelectedDate( ) As Date
      End Interface
      
        這里,我們返回一個只讀的日期屬性selectedDate.
      
        2、再創建一個日歷控件CalendarUC.ascx,其中拖拉一個普通的日歷控件即可。然后寫入如下代碼:
      
      Partial Class CalendarUC_ascx
      Inherits System.Web.UI.UserControl
      Implements ISelectedDate
      
      Public ReadOnly Property SelectedDate( ) As Date Implements ISelectedDate.SelectedDate
       Get
        Return Calendar1.SelectedDate.Date
       End Get
      End Property
      
      <ConnectionProvider("SelectedDate", "SelectedDate")> _
      Public Function GetSelectedDate( ) As ISelectedDate
       Return Me
      End Function
      End Class
      
        上面的代碼,首先實現了已經聲明了的IselectedDate接口,要留意的是<ConnectionProvider("SelectedDate", "SelectedDate")>中的寫法。由于在這個例子中,日歷控件要為其他的控件提供信息,因此,該日歷控件是一個provider(提供者),而另外的接收信息的控件,是consumer(消費者)。而兩者為了要通信,必須要提供一個通信接入點,就象一個電插頭,要找到合適的電插板一樣。因此,<ConnectionProvider("SelectedDate", "SelectedDate")>中的第一個參數,定義了兩者的接口點,第二個參數,則是要傳遞給consumer的參數,本例是selectedDate。
      
        3、接下來,我們在已經做好的google.ascx控件的代碼中,編寫如下代碼:
      
      Private _selectedDate As ISelectedDate
      
      <ConnectionConsumer("SelectedDate", "SelectedDate")> _
      Sub setSearchText(ByVal SearchText As ISelectedDate)
       Me._selectedDate = SearchText
      End Sub
      
      Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
       If _selectedDate IsNot Nothing Then
        txtSearch.Text = _selectedDate.SelectedDate.ToShortDateString
       End If
      End Sub
      
        可以看到 <ConnectionConsumer("SelectedDate", "SelectedDate")>的定義必須和provider中的定義一樣。
      
        4、再修改如下代碼,將兩個控件的命名變得通俗易懂
      
      <ZoneTemplate>
      ?。紆c1:Google title="Google Search" runat="server" ID="Google1" />
      ?。紆c3:CalendarUC title="Calendar Web Part" runat="server" ID="CalendarUC1" />
      </ZoneTemplate>
      
        5、最后,為了使兩者能互相通信,必須在default.aspx頁中修改如下代碼:
      
      <asp:WebPartManager ID="WebPartManager1" runat="server">
      <StaticConnections>
      <asp:WebPartConnection ID="Connection"
      ProviderID="CalendarUC1"
      ProviderConnectionPointID="SelectedDate"
      ConsumerID="Google1"
      ConsumerConnectionPointID="SelectedDate" />
      </StaticConnections>
      </asp:WebPartManager>
      
        6、在頁面代碼中,增加一個radiobutton,用作顯示connection模式,并寫入如下代碼:
      
      Case 4 : WebPartManager1.DisplayMode = WebPartManager.ConnectDisplayMode
      
        7、運行程序,選擇connect displaymode模式。再選擇GOOGLE SEARCH的那個webpart控件,點右上角的"conenct"按鈕,此時,會顯示如下圖所示,提示你要選擇從那個控件中得到信息,這里選擇日歷控件,按確定。那么,當點選日歷控件的某個日期值的時候,GOOGLE SEARCH的那個文本框里,就會顯示相應的日期了。
      
      
      
      小結:
      
        本文主要介紹了在ASP.NET 2.0中,如何使用基本的webpart系列控件,以達到改變頁面布局以及如何使頁面的各webpart控件相互之間通信。
      

    原文轉自:http://www.kjueaiud.com

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>