2011-01-14 4 views
0

GridViewにあるハイパーリンクでUrlEncodeを使用しようとしていて、うまく機能していないことがわかりました。その後、私はHyperLinkを別のコントロールとして利用しようとしました。それは私にハイパーリンクを与えていない、私はクリック可能でもないことを意味します。.NETのHyperLinkボタンと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コントロールにハイパーリンクコントロールを使用していますし、そこにいくつかの操作をしています。しかし、それがグリッドビューの外にあっても、期待どおりに動作していません。 – Nits

0

ハイパーリンクコントロールのテキストプロパティがありません。

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

"Text"を設定する必要はありません。 "wc"の内部コンテンツを同じに設定します。 – hunter

+0

私は彼が投稿したコードを外していました。 –

+0

それは@ハンターが言ったのと同じですが、またあなたは根本的な問題に答えていません – Nits

0

たとえば、コードビハインドファイルのNavigateUrlプロパティは、Page_Loadイベントハンドラなどで設定できます。それが動作します。

 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> 
+1

投稿する前にマークアップを試しましたか? – Nits

+0

もちろん、私は – apros

+0

を試しましたので、それはあなたのm/cで働いていると言います(私はこれを使用しているときにハイパーリンクにURLを取得していません)。 – Nits

0
<%= ... %> 

は、ASP.NETコントロールの内部では動作しません。

代替:

  • コードビハインドデータバインドコントロールでいくつかのケースで

    • <%# ... >作品
  • 関連する問題