无法访问Code类后面的链接按钮的CSS类

时间:2010-11-10 15:15:51

标签: c# asp.net css

我们可以从代码中包含一个CSS类来获取链接按钮吗?

我已经尝试了一段时间,但我无法完成它。它没有显示超链接,也没有CSS工作。请参考我的代码,看看我在哪里做错了。

string link1 = "google.com"
lblclick.Text = "<p>See what our page looks like by clicking " 
+ "<asp:LinkButton CssClass="+"linkclass" + ">" 
+ link1 + "</asp:LinkButton>

4 个答案:

答案 0 :(得分:2)

如果您想从后面的代码向面板添加链接按钮,则必须从代码创建它。

LinkButton lb = new LinkButtton();
lb.cssclass="linkclass";
lb.text = "foo";
panel1.Controls.Add(lb);

答案 1 :(得分:1)

您不能只在代码中添加ASP.NET标记作为textproperty,ASP不能像那样工作。创建Linkbutton btn = new LinkButton(),然后添加它:lblclick.Controls.Add(btn)。然后,您可以根据需要修改btn的属性。

答案 2 :(得分:1)

在代码中创建LinkButton,如下所示:

LinkButton linkButton = new LinkButton();
linkButton.CssClass = "linkclass";
linkButton.Text = "google.com";

答案 3 :(得分:0)

如果lblclick是Label,那么就不能像这样添加像LinkBut​​ton这样的asp标签。

如果可以(或者如果将LinkBut​​ton移动到标记中),则需要添加runat="server"以便能够在其上设置CssClass等属性。如果您只想要一个普通链接,则可以添加一个锚标记。

lblclick.Text = "<p>See what our page looks like by clicking 
<a href=\"" + link + "\" class=\"linkclass\">" + link1 + "</a></p>"

实际上,如果你想要一个链接到另一个页面,你根本不应该使用LinkBut​​ton,而应该使用HyperLink class。点击链接时,您可以使用NavigateUrl property设置要打开的网址。

如果你想将它添加到你的标记中,你可以这样做

<asp:HyperLink
     NavigateUrl="http://www.example.com"
     CssClass="linkclass"
     Text="link1"
     runat="server" />

如果您想在代码中动态执行此操作,请通过创建并将其添加到Controls集合中来添加它。

HyperLink link = new HyperLink();
link.NavigateUrl = "http://www.example.com";
link.Text = "link1";
link.CssClass = "linkclass";
Controls.Add(link);

请记住,当您动态添加控件时,每次加载页面时都应将其添加到Page_Load事件中。如果您不希望它显示,请将其Visible属性设置为false,并根据事件或其他内容将其更改为true。使用HyperLink时可能不那么重要,但仍然是良好的做法。动态控件咬你的时候的例子是this question asked recently