将codebehind函数与eval一起使用

本文关键字:一起 eval codebehind 函数 | 更新日期: 2023-09-27 18:26:55

首先,这里是我的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行的方法中得到一个类似"编译错误"的错误,但没有详细解释。我做错了什么?

将codebehind函数与eval一起使用

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

如上所述修改代码:

试试这个:

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;
    }

应该没事!