繁体   English   中英

ASP.NET:在后面的代码中更改CSS链接href?

[英]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);

看看是否有帮助:)

无需查找css,您可以按以下方式进行更改。

If (mobile)
{
  linkCSS.Attributes["href"] = "~/css/2.css";
}

我已经引用了此链接。

您可以在服务器端使用此代码

HtmlGenericControl link = this.FindControl(linkCSS.UniqueID) as HtmlGenericControl;

link.Attributes["href"] = "css/2.css";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM