-1

コードビハインドに従って変更できるようにする必要があるaspラベルがあります。これどうやってするの?

ASPX: (最初の部分は "TestA@abc.com" に対してのみ正しく機能し、2 番目の部分はコード ビハインドの "if" ステートメントに従ってラベル (EmailLabel) を動的に変更します。ラベルがmailto? ありがとう。

<p>Email at <a href="mailto:TestA@abc.com?subject=Comments">TestA@abc.com</a>.</p>

<p>Email at <asp:Label ID="EmailLabel" runat="server"></asp:Label>.</p>

コードビハインド:

public changeLabel()
{
 if (//Some Condition Here)
 {
    this.EmailLabel.Text = "TestA@abc.com";
 }
 else
 {
  this.EmailLabel.Text = "TestB@abc.com";
 }
}
4

2 に答える 2

1

そこでやろうとしていることはうまくいきません。ラベルはタグとしてレンダリングされる<span>ため、「クリック可能」になることはありません。あなたはもっとこのようなことをしたいです:

<p>Email at <a href="mailto:TestA@abc.com?subject=Comments">TestA@abc.com</a>.</p>

<p>Email at <asp:LinkButton ID="EmailLabel" runat="server"></asp:LinkButton>.</p>

そして、Textプロパティを変更する代わりに、プロパティを変更しNavigateUrlます。

、を使用することもできますHtmlControl。これは、基本的に、runat="server"属性を追加する標準のHTMLタグです。

<p>Email at <a id="EmailLabel" runat="server" href=""></a>.</p>

その後、サーバー側のコードを介してこの<a>タグを変更できるようになります。プロパティは少し異なりますが、実際に使用できるライブアンカータグがあります。

この他のSOの質問も役立つかもしれません:LinkBut​​tonクリックイベントで電子メールクライアントを起動する方法は?

于 2013-01-31T00:01:07.650 に答える