我試圖在代碼背後(C#)中獲取div的ID並在其上設置了一些css。我可以從DOM中抓取它,還是必須使用某種控件?如何在.NET中使用C#編輯div的CSS樣式
<div id="formSpinner">
<img src="images/spinner.gif" />
<p>Saving...</p>
</div>
我試圖在代碼背後(C#)中獲取div的ID並在其上設置了一些css。我可以從DOM中抓取它,還是必須使用某種控件?如何在.NET中使用C#編輯div的CSS樣式
<div id="formSpinner">
<img src="images/spinner.gif" />
<p>Saving...</p>
</div>
的runat="server"
屬性添加到它,所以你必須:
<div id="formSpinner" runat="server">
<img src="images/spinner.gif">
<p>Saving...</p>
</div>
這樣,你可以通過訪問類的屬性:
formSpinner.Attributes["class"] = "classOfYourChoice";
另外值得一提的是,asp:Panel
控制幾乎是同義(至少就渲染標記而言)與div
,所以你也可以這樣做:
<asp:Panel id="formSpinner" runat="server">
<img src="images/spinner.gif">
<p>Saving...</p>
</asp:Panel>
,然後讓你寫:
formSpinner.CssClass = "classOfYourChoice";
這使您的財產更定義的訪問,有一些人可能會,也可能不會,要你有幫助。
將runat =「server」屬性添加到標記中,然後您可以從代碼隱藏中引用它。
確保你的div被設置爲runat =「server」,然後只需在代碼隱藏中引用它並設置「class」屬性。
<div runat="server" id="formSpinner">
...content...
</div>
代碼隱藏
formSpinner.Attributes["class"] = "class-name";
的元素添加RUNAT在標記
<div id="formSpinner" runat="server">
<img src="images/spinner.gif">
<p>Saving...</p>
</div
然後你就可以得到控制的類使用 formSpinner.Attributes(「類屬性「) 它只會是一個字符串,但你應該可以編輯它。
這個問題讓我很緊張。它表明,也許你不明白如何使用服務器端代碼會影響你的頁面的DOM狀態。
無論何時運行服務器端代碼,整個頁面都是從頭開始重建的。這有幾點含義:
如果你能擺脫它,你可能想把它推到javascript並避免回發。也許使用XmlHttpRequest()調用觸發你需要的任何服務器端動作。
如果您只想有條件地顯示或隱藏< div>,則可以聲明它爲< asp:panel>(將html呈現爲div標籤)並將其設置爲.Visible屬性。
如何在沒有runat =「server」的情況下執行此操作?舉例來說,如果你有一個
<body runat="server" id="body1">
...並嘗試從的UpdatePanel它永遠不會得到更新中更新。
但是,如果你保持它作爲一個普通的非服務器HTML控件,你可以。這裏的Jquery來更新它:
$("#body1").addClass('modalBackground');
你如何在代碼隱藏中做到這一點?
如果你不想讓你的控制RUNAT服務器的情況下,你需要的ID或根本就不想將其添加到視圖狀態,
<div id="formSpinner" class="<%= _css %>">
</div>
在後端:
protected string _css = "modalBackground";
要圍上的帖子&擴大爲什麼我們可能不想使用ViewState的下面的代碼:
style="<%= _myCSS %>"
Protected _myCSS As String = "display: none"
如果您使用的是AJAX,它可以通過asp.net後端代碼而不是jQuery/jscript來操縱顯示。
添加runat =「server」修復了我的一半問題。我現在可以在我的代碼中引用它。但是,我似乎無法設置CSS類或樣式。我試圖顯示:block或display:none。 – 2008-10-06 18:20:49
Jon - 編輯您的問題以添加您在代碼隱藏以及在何處放置代碼,或者考慮開放一個新問題來處理進一步的問題。 :) – Rob 2008-10-06 18:26:07