2015-12-16 68 views
2

首先,這裏是我的aspx:與EVAL

<asp:Repeater ID="Repeater1" runat="server" DataSourceID="EntityDataSourceTeklifler"> 
    <ItemTemplate> 
    <div class="panel panel-primary"> 
     <div class="panel-body"> 
      <strong>Teklif No.</strong>&nbsp;<%#Eval("TeklifId") %><br /> 
      <strong>Teklif Tarihi:</strong>&nbsp;<%#Eval("TeklifTarih") %><br /> 
      <strong>Teklifi Hazırlayan:</strong>&nbsp;<%#Eval("Name") %>&nbsp;<%#Eval("Surname") %><br /> 
      <strong>Firma Adı:</strong>&nbsp;<%#Eval("FirmaAdi") %><br /> 
      <strong>Ürünler:</strong><br /> 
      <%#Eval("TeklifSiparis") %> 
      <strong>Genel Toplam:</strong>&nbsp;<%#Eval("TeklifTutar") %>$<br /> 
      <strong>Not:</strong><br /> 
      <%#Eval("TeklifNot") %><br /> 
      <strong>Teklif Durumu:</strong>&nbsp;<%# CheckIfApproved(Eval("Approved")) %> 
      </div> 
      </div> 
       </ItemTemplate> 
       </asp:Repeater> 

正如你可以看到我試圖打電話給在中繼器的最後一個項目的方法。這裏是我的代碼隱藏方法:

protected string CheckIfApproved(bool isApproved) 
    { 
     string result; 
     if (isApproved) 
     { 
      result = "Satışa Dönmüştür"; 
     } 
     else 
     { 
      result = "Satışa Dönmemiştir"; 
     } 
      return result; 
    } 

當我運行代碼,我得到這樣的「編譯錯誤」,在方法調用EVAL線沒有詳細的解釋錯誤。我究竟做錯了什麼 ?

+1

當你想要一個'bool'值時,你傳遞一個'string'作爲參數給你的方法 – Izzy

回答

1
<%# CheckIfApproved(Convert.ToBoolean(Eval("Approved"))) %> 

修改爲上面的代碼:

0

試試這個:

protected string CheckIfApproved(object isApproved) 
    { 
     string result; 
     if (bool.Parse(isApproved)) 
     { 
      result = "Satışa Dönmüştür"; 
     } 
     else 
     { 
      result = "Satışa Dönmemiştir"; 
     } 
      return result; 
    } 

應該罰款!