使用带有eval的codebehind函数

时间:2015-12-16 08:59:39

标签: c# asp.net eval

首先,这是我的aspx:

<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行的方法中没有详细说明。我做错了什么?

2 个答案:

答案 0 :(得分:1)

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

按上述方式修改代码:

答案 1 :(得分: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;
    }

应该没事!