首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

ASP.NET DataList 跨頁傳值:用 HyperLink NavigateUrl 帶參數最簡單

     編輯:程式設計綜合問答

DataList 中的 HyperLink 控制項無法在後端直接取得控制項實例,若想點擊跳轉並傳遞文字內容,直接在前端綁定 NavigateUrl 帶 QueryString 即可,完全不需要 Server.Transfer。

前端綁定寫法

<asp:DataList ID="DataList1" runat="server">
  <ItemTemplate>
    <asp:HyperLink ID="hlTitle" runat="server"
      Text='<%# Eval("Title") %>'
      NavigateUrl='<%# "Detail.aspx?title=" + Server.UrlEncode(Eval("Title").ToString()) %>' />
  </ItemTemplate>
</asp:DataList>

接收頁面

// Detail.aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
    string title = Request.QueryString["title"];
    if (!string.IsNullOrEmpty(title))
    {
        // 解碼後使用
        lblTitle.Text = Server.UrlDecode(title);
    }
}

優點

  • 純客戶端跳轉,無 Postback 開銷。
  • URL 可分享、可收藏、有利 SEO。
  • 避免 DataList 命名容器導致的 FindControl 麻煩。

若需傳遞敏感資料,請改用 POST 表單或加密 Token。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved