2012-03-27 77 views
0

我有一個母版頁,它給了我2個contentplaceholder(除了標題之外) 1是一個左邊的排水溝,1是排水溝右邊的主體方形。從超鏈接動態更新ContentPlaceHolder

在webform中,我的陰溝有一個手風琴控件,每個面板都有一堆超鏈接。 我想爲每個超鏈接來控制主體的contentplaceholder內的「表單」。

我猜測有多個用戶控件的效果,並且webform在主要部分內有一個updatepanel,我根據哪個超鏈接被點擊動態地分配UserControls。

我不知道如何爲此谷歌。

我可能只是有很多面板,全部看不見,超鏈接調用一些jquery使某個面板可見,但這看起來效率很低。

有人可以幫我一個更好的解決方案嗎? 或者我在想這個,並應該只爲每個超鏈接有一個aspx頁面?但後來我會失去我在accodian空間..... 注意 - 這是asp.net webforms,而不是mvc

謝謝!

+0

你是否必須使用'HyperLinks'?你可以使用'LinkBut​​tons'嗎? – 2012-03-27 13:35:22

+0

linkbuttons也不錯 – Crudler 2012-03-27 13:40:57

回答

0

我不知道你想要做什麼的全部細節,但有LinkButton可以使用Click事件處理程序調用方法或母版頁設置一個屬性:

protected void LinkButton1_Click(object sender, EventArgs e) 
{ 
    Master.TogglePlaceHolder("Some Criteria"); 
} 

要使用這種方法,你將需要一個強類型引用母版頁,你可以在頁面指令照顧這樣的:

<%@ MasterType VirtualPath="~/Themes/Default.master" %> 

然後在母版頁,只要確保了方法或財產是可訪問的:

public void TogglePlaceHolder(string criteria) 
{ 
    //perform your logic here 
} 
+0

謝謝。這很有幫助!但我的概率的後半部分是,我動態地想分配一個用戶控件到我的contentplaceholder而不刷新頁面。類似於 - contentplaceholder.clear,contentplaceholder.add(myusercontrol)等etc – Crudler 2012-03-27 14:19:26

+0

除非您計劃使用AJAX,否則無法避免刷新。如果你可以使用AJAX,你應該可以通過在更新面板中包裝'PlaceHolder'和'LinkBut​​ton'來實現這個目的(如果需要的話,還可以單獨更新面板)。 – 2012-03-27 14:57:18

+0

我的答案的第2部分是[stackoverflow.com/questions/213429/... [1]:stackoverflow.com/questions/213429/...排序! – Crudler 2012-03-27 14:58:58