[英]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.