链接按钮没有正确呈现
本文关键字:按钮 链接 | 更新日期: 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是行不通的。