c#
  • asp.net
  • .net
  • 2011-12-14 36 views 2 likes 
    2

    我有下面的代碼,它應該檢查一個DataList(Month)變量是否與名爲mesActual的變量相同,它們是文本(如December/November )檢查變量在運行時設置類的值C#

     <li id="Li1" class='<%# (Convert.ToBoolean(Convert.ToString(Eval("Month")) == Convert.ToString(mesActual))) ? "activa" : "no-activa" %>'> 
          <asp:LinkButton ID="lnkbtn" runat="server" CommandName="Select" CommandArgument='<%#Eval("Month")%>'><%#Eval("Month")%></asp:LinkButton> 
          <div class="btn"><span><asp:Label ID="lbltot" runat="server"></asp:Label></span></div> 
         </li> 
    

    在頁面加載,它似乎工作,第一項被選中,分配類的「禾邦」,但是當我點擊按鈕,它重新加載頁面,我可以看到我的變量「mesActual」改變了,但李的班級沒有改變。
    我錯過了什麼?
    謝謝!

    回答

    0

    嘗試使用Equals方法而不是==運算符進行比較。這將比較字符串值而不是引用。

    此外,您不需要將它包裝在Convert.ToBoolean()中,因爲Equals方法的結果將返回一個布爾值。 (「Month」)。Equals(Convert.ToString(mesActual))???????????????????????????????????????????????????????? 「禾邦」: 「無ACTIVA」

    +0

    謝謝!不知道.Equals,但它似乎不影響結果:( - 它在這裏http://agenda.koncepto.com/Default.aspx - – doterobcn 2011-12-14 02:48:32

    0

    嘗試在DataBind()runat="server"<%# %>只有火災:

    <li id="Li1" runat="server" class='<%# Convert.ToString(Eval("Month")) == Convert.ToString(mesActual) ? "activa" : "no-activa" %>'> 
    
    0

    是什麼類型mesActual?以及如何以及何時設定它的價值。

    如果你嘗試:

    <li id="Li1" runat="server" class='<%# (Eval("Month").ToString().Equals(mesActual)) ? "activa" : "no-activa" %>' 
    

    ,並沒有工作,你有沒有驗證的eval(「月」)和可變mesActual的價值,實際上是在某些時候一樣嗎?

    乾杯。

    相關問題