0

HyperLink を使用するよりも簡単なので、LinkBut​​ton を使用して呼び出したいコードがいくつかあります。

このようなもの

StringBuilder sb = new StringBuilder();
sb.Append("<p>Please check that you have entered the correct user name If you have, <asp:LinkButton ID='lnkSendEmail' runat='server' onclick='lnkSendEmail_Click'>Click Here</asp:LinkButton> to complete registration</p><br/>if you have not registerd, <a href='Registration.aspx'>Click here</a>");
labTester.Text = sb.ToString();

ただし、ページが再表示されると、LinkBut​​ton はクリックできなくなります。

私が試みていることを行うことは可能ですか?

よろしく

4

3 に答える 3

4

Asp.net は、文字列として記述された linkbutton タグをレンダリングしません。リンクボタンを動的に作成する場合は、動的コントロールとして作成し、PlaceHolder や Panel などの親コントロールに追加する必要があります。参照用に次のコードを使用できます。

aspx ページにプレースホルダーを追加します (ID が であると仮定しますPlaceHolder1) 。

.cs ファイル コード:

LinkButton lnkSendEmail = new LinkButton();
lnkSendEmail.ID = "lnkSendEmail"; 
lnkSendEmail.Text = "Click Here";
lnkSendEmail.Click += new EventHandler(lnkSendEmail_Click);
PlaceHolder1.Controls.Add(new LiteralControl("Please check that you have entered the correct user name If you have, "));
PlaceHolder1.Controls.Add(lnkSendEmail);
PlaceHolder1.Controls.Add(new LiteralControl("to complete registration</p><br/>if you have not registerd, <a href='Registration.aspx'>Click here</a>"));

これにより、テキストとリンクボタンが追加されます。また、リンクボタンの onclick イベントを使用することもできます。

protected void lnkSendEmail_Click(object sender, EventArgs e)
{
  //write your code to handle link button click event
}
于 2013-06-05T10:30:32.017 に答える
3

<p> 要素内<a>違法であり、リンクは代わりに段落内に移動します。つまり、<p>ラッパーが必要な場合は、それをリンクの周りに置き、平文をリンクの Text プロパティに挿入します。

ああ、後で他のもの、特に期待どおりにレンダリングされないエンコードされていないコンテンツを書き込もうとしていることがわかりました。Text プロパティはテキストとして扱われるため、.NET は埋め込まれた LinkBut​​ton を処理しません。

于 2013-06-05T10:07:22.263 に答える
1

LinkBut​​ton としてもレンダリングされますか??、このシナリオを処理するためにイベントを定義したアンカー タグを使用できますが、このように LinkBut​​ton を追加しても機能しません。

于 2013-06-05T10:43:15.187 に答える