ASP.NET WebForm 讓開發者以伺服器端物件操控網頁元素。本文示範使用 Panel 控制項包裹 HTML 區塊,搭配 LinkButton 切換可見度,實現條件式顯示/隱藏。
<div>,Visible 屬性控制整個區塊輸出與否。Click 事件回傳。<asp:Panel ID="TestPanel" runat="server" Width="398px" Height="171px" Visible="false">
<h2>此區塊可動態顯示/隱藏</h2>
<asp:DropDownList ID="ADropDownListBox" runat="server"></asp:DropDownList>
</asp:Panel>
<asp:LinkButton ID="ToggleLink" runat="server" Text="切換顯示" OnClick="ToggleLink_Click" />
protected void ToggleLink_Click(object sender, EventArgs e)
{
TestPanel.Visible = !TestPanel.Visible;
ToggleLink.Text = TestPanel.Visible ? "隱藏區塊" : "顯示區塊";
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TestPanel.Visible = User.IsInRole("Admin");
}
}
| 優點 | 缺點 |
|---|---|
| 純伺服器端程式碼,邏輯集中、易維護 | 每次切換需完整回傳,體驗不如 AJAX |
| 自動處理 ViewState,狀態不遺失 | 無法在 Design 模式使用 FrontPage/Dreamweaver 編輯 |
| 支援任意伺服器/客戶端控制項混合 | 大量 Panel 切換可能增加頁面大小 |
UpdatePanel + Panel.Visible:局部更新,無整頁重整。