c#
  • .net
  • 2011-01-14 66 views 0 likes 
    0

    我只是試圖在GridView中的超鏈接中使用UrlEncode,並發現它不起作用。然後我嘗試將HyperLink作爲一個單獨的控件,並嘗試使用它。它沒有給我超鏈接,我的意思是它甚至不可點擊。在.NET中使用UrlEncode和HTML中錨定標記中使用UrlEncode

    雖然當我嘗試了簡單的錨標記,它正在工作。這是我使用

    <asp:HyperLink ID="HyperLink2" runat="server" 
          NavigateUrl ='<%= "~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")%>' > wc 
        </asp:HyperLink> 
    
    // While following is working 
        <a title="asxd" href='<%= "~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")%>'>wc 
    </a> 
    

    還在尋找答案

    回答

    1

    你並不需要使用Hyperlink控制或使一個錨標記runat="server"除非你做的東西在你的代碼背後。

    <a href="<%=ResolveUrl("~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")) %>">wc</a> 
    
    +0

    數據綁定控件實際上我用的超級鏈接控制在​​我的GridView控件,並做一些操作存在。但即使它不在gridview之外,它也不能按預期工作。 – Nits 2011-01-24 06:59:03

    0

    您錯過了超鏈接控件的文本屬性。

    <asp:HyperLink ID="HyperLink2" runat="server" 
        NavigateUrl ='<%= "~/Default.aspx?customer=" + "&CompanyName=" + Server.UrlEncode("abc#")%>' Text="wc" /> 
    
    +0

    你不需要'文字'設置內部的內容爲'wc'的工作原理是一樣的 – hunter 2011-01-14 13:14:31

    +0

    我正在關閉他發佈的代碼。 – 2011-01-14 13:28:15

    0

    您也可以在Page_Load事件處理程序中的代碼隱藏文件中設置NavigateUrl屬性,例如。它會工作。

    在代碼隱藏類:

     protected void Page_Load(object sender, EventArgs e) 
         {     
          HyperLink2.NavigateUrl = "~/Default.aspx?customer=&CompanyName=" + Server.UrlEncode("abc#");     
         } 
    

    而在標記:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> 
    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
    
    <html xmlns="http://www.w3.org/1999/xhtml"> 
    <head runat="server"> 
        <title></title> 
    </head> 
    <body> 
        <form id="form1" runat="server"> 
        <div> 
         <asp:HyperLink ID="HyperLink2" runat="server" Target="_new">wc 
    </asp:HyperLink> 
    
        </div> 
        </form> 
    </body> 
    </html> 
    
    0
    <%= ... %> 
    

    並不裏面ASP.NET控件工作。

    替代方案:

    • <%# ... >作品在某些情況下
    • 代碼隱藏
    相關問題