2016-01-04 76 views
0

我的ASP.NET網站的粗略佈局如下的UpdatePanel:從網址查詢參數移動到異步內容

Site layout

主導航目前依賴URL查詢參數(即<a href="/?category=InStock">),以確定哪些圖表控制是動態加載的。

我想通過在此設計中添加一個UpdatePanel來改進此設計,並在選擇新類別時使面板更新圖表/圖形。由於錨點標籤點擊觸發Page.Redirect我想知道這是否仍然可以用更新面板完成,或者如果我將不得不修改我的導航<a href>標籤爲Button控件?

我們決定使用<a href>標籤的主要原因是能夠爲網站添加書籤並保存頁面狀態,以便用戶在需要時返回特定圖表。

回答

0

您可以做的是將<a href>標籤更改爲按鈕或鏈接按鈕控件,放棄當前查詢字符串驅動的邏輯,並根據點擊哪個按鈕更改圖形。

然後,您可以添加更新面板,在ScriptManager中啓用瀏覽器歷史管理,並在每個按鈕被點擊時創建歷史點。

詳情請參閱此MSDN文章:https://msdn.microsoft.com/en-us/library/cc488548.aspx

這樣做是在注入瀏覽器的歷史記錄當前頁面的信息和編碼您在查詢字符串自動指定狀態。

這意味着用戶可以爲頁面的當前狀態添加書籤,並且所有內容仍然是AJAX'd。

另外一個很好的文章涵蓋了ASP.NET AJAX歷史記錄功能: http://www.4guysfromrolla.com/articles/100808-1.aspx

+0

感謝您的建議。我已經實現了建議的LinkBut​​ton方法。然而,在Page_Init事件處理程序中出現了構建上面列出的控件的邏輯('UserContentHeader','Widgets','LinkBut​​tons','ChartGraph')。因此,當我的「OnClick」事件觸發LinkBut​​ton時,事件已經被觸發。 – Neomoon

+0

「OnClick」事件包含了根據要顯示的信息類別確定要加載哪些新控件的關鍵信息。 – Neomoon