2009-11-19 44 views
0

在我的aspx文件裏面,我有一箇中繼器裏面的以下html代碼:<div class="someItem ">如何「動態」添加css類?

現在,如果Eval("Approved") == true,那麼我想添加類批准到div。
所以新的html將是<div class="someItem approved">

我試圖做這樣的事情:

<%# if(Eval("Approved")) approved %> 

但是這並沒有很好地工作。有任何想法嗎?

回答

1

如果不能在數據綁定#線工作類批准它會更好,可以考慮一下。

所以,你可以變通的作法是這樣的:

<%# isApproved = Convert.ToBoolean(Eval("Approved").ToString()) %> 
<% if(isApproved){ %> 
    <div class="someItem approved"> 
<%}%> 

而且不要忘記申報isApproved作爲代碼保護落後。

也請看一看這個問題:

Is it possible to use Data-Binding Expressions directly in markup to show/hide content?

這可以回答你的問題的最重要的部分。

+0

嗨Amr。謝謝你的好回答。您的第一行不會將值存儲在「isApproved」變量中。它只輸出文字「真」或「假」。我希望避免背後的代碼。但它看起來像我必須調用一個函數並傳遞對象Eval(「批准」)。 – Steven

1

也許,如果該項目被批准<div id="someItem">,然後添加如果凡是真實的EVAL ..

<div id="someItem" "<%# Eval("Approved") ? Response.Write("class=\"approved\"") : "" %>"> 
+0

要使用評估你必須把#,你的例子將無法正常工作 –

+0

是的你是正確的我的壞.. – ant

2

您可以在div服務器控件作爲 - >

<div id="myDIV" class="myClass" runat="server"></div>. 

然後你就可以直接從後面的代碼訪問它,因爲

myDIV.Attributes["class"] = "classOfYourChoice"; 

請參閱本 - >How to edit CSS style of a div using C# in .NET

+0

嗡嗡聲......我不知道我可以將html標籤放入服務器控件中。謝謝你的提示! – Steven

0

您可以使用一個asp.net面板,並從後面的代碼控制它的操作。面板呈現爲DIV,並且您可以在運行時訪問它的CssClass。