首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> 關於ASP.NET

ASP.NET 伺服器端控制網頁可見度:Panel 與 LinkButton 實戰

     編輯:關於ASP.NET

ASP.NET WebForm 讓開發者以伺服器端物件操控網頁元素。本文示範使用 Panel 控制項包裹 HTML 區塊,搭配 LinkButton 切換可見度,實現條件式顯示/隱藏。

核心概念

  • Panel:對應 <div>,Visible 屬性控制整個區塊輸出與否。
  • LinkButton:外觀為超連結,實為伺服器端按鈕,觸發 Click 事件回傳。
  • 狀態保持:ViewState 自動維護控制項屬性跨回傳不遺失。

步驟與程式碼

1. 設計檔 (.aspx)

<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" />

2. 後端程式碼 (.aspx.cs)

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:局部更新,無整頁重整。
  • jQuery/AJAX 呼叫 WebMethod 回傳 HTML 片段,客戶端替換 DOM。
  • ASP.NET Core / Blazor:元件化、狀態管理更靈活。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved