2011-12-15 62 views
0

我有一個包含5個選項卡的簡單網頁。每個選項卡都是LinkButton。主體是<div>,我在其中放置了一個PlaceHolder。現在,我想在選項卡上進行點擊事件,因此無論何時點擊其中一個選項卡,PlaceHolder都會相應更改。所以,我有兩個問題在這裏:如何在點擊LinkBut​​ton時更新PlaceHolder

  • 我如何禁用PostBack,使LinkButton只更新PlaceHolder(使用C#)?

  • 我可以使用HTML頁面加載/重新加載PlaceHolder嗎?

謝謝。

+0

感覺就像你在圍繞預期的功能運行圓圈。當你點擊標籤時,你只想要標籤顯示/隱藏? – David 2011-12-15 13:55:11

回答

1

如果您希望所有這些都不發生回傳,那麼我建議您遠離LinkButtonPlaceHolder之類的服務器端控件。作爲客戶方關心的事情,您想要實現的目標要容易得多。

看看jQuery UI tabs。查看各種演示中的代碼(單擊該頁面上的「查看源代碼」以查看HTML是多麼簡單),您可以看到它僅附加到常規HTML。沒有服務器端。通過製作標籤標題中的純HTML元素(演示中的li/a元素),您可以解決整個「回發」問題,而您並不需要。

這些標籤上沒有什麼特別的事情發生。點擊每一個只是更新標籤元素的CSS(在這種情況下爲div),以更改它們的display屬性,相應地隱藏和取消隱藏。

需要注意的一件事是代碼如何處理服務器端和客戶端功能的這種分離。從服務器端代碼(ASP.NET的東西)的角度來看,它全是一個頁面。沒有任何動態的或特殊的事情發生。它像其他渲染一樣呈現整個頁面。客戶端代碼(JavaScript/CSS/HTML)提供了服務器端代碼完全未知的用戶體驗。就ASP.NET而言,它正在向瀏覽器提供一個頁面。而已。

0

如果您需要這不使用JQuery(精彩),然後使用的UpdatePanel

它不回發,但只有一部分的佔位符可以更新嘗試在ASP.NET發生。

相關問題