链接按钮没有正确呈现

本文关键字:按钮 链接 | 更新日期: 2023-09-27 18:17:14

我有一些代码,我想使用LinkButton调用,因为它比尝试使用HyperLink更容易。

Something Like this

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();

然而,当页面重新呈现时,LinkButton是不可点击的。

有可能做我正在尝试的事情吗?

链接按钮没有正确呈现

Asp.net不会将linkbutton标签写成字符串。如果你想动态创建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
}

<p> <a>元素是非法的,链接将进入段落中的。也就是说,如果您想要一个<p>包装器,那么将它放在链接周围,并将纯文本插入到links Text属性中。

哦,直到现在才看到,以后你试图写出其他东西,特别是未编码的内容,不会以你期望的方式呈现。net不会处理你嵌入的LinkButton,因为Text属性就像那样处理,

它甚至呈现为LinkButton吗??,您可以使用锚标记来定义事件来处理这种情况,但是像这样添加LinkButton是行不通的。