簡體   English   中英

創建唯一的URL時超鏈接不起作用? C#asp.net

[英]Hyperlink won't work when creating a unique url? C# asp.net

<asp:SqlDataSource ID="itemsforsale" runat="server"
     ConnectionString="<%$ ConnectionStrings:ElmtreeConnection  %>"
     SelectCommand="SELECT * FROM Products WHERE Products.CategoryId = @CategoryId">

     <SelectParameters>
         <asp:QueryStringParameter Name="CategoryId" 
              QueryStringField="CategoryId" Type="Int32" />
     </SelectParameters>
</asp:SqlDataSource>

<asp:HyperLink ID="hyperlink" runat="server" 
     NavigateUrl='<%# "ItemsForSale.aspx?CategoryId"+Eval("CategoryId") %>' 
     Text="Beauty"></asp:HyperLink>

這是我的標記。 加載頁面時沒有出現任何錯誤,但是鏈接不起作用。 誰能給我任何關於為什么的見解?

URL中缺少等號:

NavigateUrl='<%# "ItemsForSale.aspx?CategoryId=" + Eval("CategoryId") %>'

如果HyperLink不在數據綁定控件中,則必須在Page_Load調用其DataBind方法(或Page本身的DataBind方法),以確保其數據綁定表達式被求值:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        hyperlink.DataBind();
        ...
    }
}

本質上,您是在創建到地址ItemsForSale.aspx的Url。 在URL前面加上〜/,以將其識別為相對於基本URL的路由。

暫無
暫無

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

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