2009-01-20 63 views
2

從我已經讀過的內容來看,這似乎是不可能的,但我想看看有沒有人有一個祕密的技巧或至少一個明確的「不」。您可以在.NET中異步更改母版頁的ContentPlaceHolder的內容頁面嗎?

假設主頁面實際上只是一個內容頁面的控件,實際上並不是內容頁面的「主」。如果我想從一個內容的頁面去,與相同的主網頁其他內容頁,我只想說

Response.Redirect("PageB.aspx"); 

但這將立即進行回傳,忽隱忽現的頁面,這是糟糕的前阿賈克斯做事的方式。

在這個當前的項目中,我試圖看看是否可以弄清楚如何在母版頁上單擊按鈕時異步更改母版頁中ContentPlaceHolder的當前內容頁。

這是可能的,如果是這樣怎麼樣?

回答

1

我不知道如果你可以在頁面(.aspx)之間,但它絕對可以使用UserControls完成。

ASP.Net頁面都有自己的URL,所以你試圖做的是從一個URL到另一個URL而沒有任何回傳,這不是它應該如何工作。


使用用戶控件(的.ascx):

創建使用母版頁,並使用類似這樣的內容

<ajax:UpdatePanel ...> 

    <ContentTemplate> 

     <asp:PlaceHolder ...> 

    </ContentTemplate> 

</ajax:UpdatePanel> 

搜索的UpdatePanel和調整其設置做你想做的事,然後學習如何交換佔位符中的用戶控件。

+0

作爲我的答案的第一部分提到,我幾乎可以肯定,使用.aspx頁面是不可能的。 – mbillard 2009-01-20 21:46:15

0

沒有,你不能因爲一個母版頁實際上是呈現一個特定的aspx頁面上,而不是實際包含aspx頁面,因爲它看似似乎是編程和設計視圖控制。

更多信息:

你可以使用,無論其他各種控件來模擬這種效果。 asp:MultiView控件就是一個例子,每個「頁面」都可以在一個視圖中進行設置,並置於更新面板中,從而允許它異步切換。或者,您可以在單獨的用戶控件中定義每個頁面,並將它們放在更新面板中,根據需要異步切換這些控件的可見屬性。

實際上有很多不同的方法可以實現類似於更改主頁內容佔位符的效果。

相關問題