[英]ASP.NET: Change the CSS link href in code hehind?
我有一个.ASPX页面,我想在其中更改后面代码中的CSS href。 我搜索了一些技巧来做到这一点,但找不到符合我预期的任何方法。
HTML标记:
<link id="linkCSS" runat="server" href='/css/1.css' rel="stylesheet" type="text/css" />
这是我在代码背后尝试的方法:
If (mobile)
{
HtmlLink link = (HtmlLink)this.FindControl(linkCSS.UniqueID);
link.Href = "/css/2.css";
}
但是我收到以下异常:
无法将类型为“ System.Web.UI.HtmlControls.HtmlGenericControl”的对象转换为类型为“ System.Web.UI.HtmlControls.HtmlLink”的对象。
有任何想法吗? 谢谢。
由于您无法获取和修改控件(尽管我相信有可能),因此可以使用占位符来对其进行更多控制。 像这样:
<asp:PlaceHolder ID="headPlaceHolder" runat="server" />
然后在您的服务器代码中:
HtmlLink link = new HtmlLink();
link.Href = "/css/2.css";
headPlaceHolder.Controls.Add(link);
看看是否有帮助:)
您可以在服务器端使用此代码
HtmlGenericControl link = this.FindControl(linkCSS.UniqueID) as HtmlGenericControl;
link.Attributes["href"] = "css/2.css";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.