簡體   English   中英

重新排列用戶控件在ASP.NET頁上的位置

[英]Reordering the position of usercontrols on a ASP.NET page

我正在一個頁面上具有以特定布局排列的用戶控件。 我正在修改該頁面以支持根據用戶的首選項對位置進行重新排序。 因此,從本質上講,在加載時,我可以獲得有關將不同用戶控件放置在何處的信息。

我可以想到2種方法:

  • 在客戶端進行重新排序。 這對於用戶來說並不理想,因為他們看到重新排序的情況正在發生。
  • 在服務器端進行重新排序。 這需要我做很多重寫以根據首選項動態加載用戶控件。

還有其他方法可以完成我要完成的工作嗎?

我建議在客戶端重新安排,因為

  1. 您將保存回發。
  2. 您將使網站變得無縫。

你怎么能

  1. 使用包含所有控件的主div和包含加載圖像的主div。 在使用javascript重新排列控件的同時切換可見性,或者
  2. 您可以設置可見性:隱藏在您的身體上,然后重新排列后設置可見性:可見

這種方法的缺點是必須使用絕對定位。

有一種更簡單的方法。 渲染由父容器渲染它們控制。 可以創建一個容器,並完全控制其子代的渲染順序(通過重寫RenderChildren方法)。 這不是最簡單的選擇,但它可以工作。 這些步驟是:

  • 創建一個從ContainerControl繼承的類
  • 重寫RenderChildren方法
  • 在此方法中,它將在容器中呈現子級,對其進行覆蓋,不調用其基類版本,並將實例提供給控件並呈現它們。 這是因為您必須這樣做而引起並發症的地方。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM