簡體   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