c#
  • code-behind
  • linkbutton
  • 2013-06-05 132 views 0 likes 
    0

    我有一些代码背后我想用LinkBut​​ton调用,因为它比尝试使用HyperLink更容易。链接按钮显示不正确

    像这样

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

    当页面然而reneders,LinkBut​​ton的是不能点击。

    是否可以做我想做的事情?

    问候

    +0

    为什么不动态创建Linkbutton而不是创建stringbuilder。 – Zaki

    +4

    你不能像这样嵌入asp:LinkBut​​tons ...删除asp:并使其成为普通链接/

    回答

    4

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

    这将添加文字和的LinkBut​​ton,也你可以使用链接按钮的onclick事件。

    protected void lnkSendEmail_Click(object sender, EventArgs e) 
    { 
        //write your code to handle link button click event 
    } 
    
    3

    <p><a>元素是非法的,链接会的段落中去,而不是。也就是说,如果你想要一个<p>包装器,然后把它放在你的链接上,并将纯文本插入链接的Text属性。

    哦,现在才看到,后来你试着写出其他东西,特别是未经编码的内容,不会按照你期望的方式渲染。 .NET不会处理您的嵌入式LinkBut​​ton,因为Text属性被视为与文本一样。

    1

    是否甚至呈现为LinkBut​​ton的??,你可以有锚标记定义的事件来处理这个scenarion,但添加的LinkBut​​ton这样不会工作。

    相关问题