兩個webpart控制項之間進行通訊

2021-04-20 17:48:51 字數 2599 閱讀 2183

imports microsoft.visualbasic

public inte***ce iselecteddate

readonly property selecteddate( ) as date

end inte***ce

這裡,我們返回乙個唯讀的日期屬性selecteddate.

2、再建立乙個日曆控制項calendaruc.ascx,其中拖拉乙個普通的日曆控制項即可。然後寫入如下**:

partial class calendaruc_ascx

inherits system.web.ui.usercontrol

implements iselecteddate

public readonly property selecteddate( ) as date implements iselecteddate.selecteddate

getreturn 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>

<uc1:google title="google search" runat="server" id="google1" />

<uc3: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的那個文字框裡,就會顯示相應的日期了。

漫步於兩個心靈之間

最近在網上碰到一和我幾乎用乙個鼻孔出氣的人,才第一次體會到王力巨集的那句歌詞 我還沒說可惜 你已經在嘆氣 不可思議的默契 驚嘆彼此心靈相似的同時,也享用了那份獨到的快樂。說實話我戀愛過,但即使我的戀人也不曾這樣和我心有靈犀一點通。就這樣漫步在兩個心靈間,像靜靜的湖面.也許網路並不能保證什麼,尤其是人...

兩個APP之間實現跳轉

乙個程式若要跳到另乙個程式。需要在目標程式的plist檔案裡面修改 開啟info.plist,新增一項url types 展開url types,再展開item0,將item0下的url identifier修改為url scheme 展開url scheme 然後在原程式裡面,要開始跳轉的地方,可...

兩個指標之間的運算

只有指向同一陣列的倆個指標變數之間才可以進行計算。否則是沒有意義的。int pf1,pf2 int arr 10 pf1 arr pf2 arr 1 auto result pf2 pf1 計算機具體運算是兩個位址值相減。應該是過載了運算子 結果是指標值相減除以指標所指物件的大小。因為單純的位址值相...