如何在使用Bind / Eval方法的aspx页面中使用If语句

时间:2018-01-25 09:06:14

标签: c# asp.net

我写了以下代码:

<% if (Eval("ZoneName").ToString().ToLower().Equals("lahore"))
{%>
    <asp:HyperLink ID="hlShipmentDetail" runat="server"></asp:HyperLink>
<%    
}
%>

但它产生了这个例外:

  

类型&#39; System.InvalidOperationException&#39;的例外情况发生在   System.Web.dll但未在用户代码中处理

     

附加信息:数据绑定方法,如Eval(),XPath(),   和Bind()只能在数据绑定控件的上下文中使用。

任何人都可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

在一个函数中移动程序逻辑 - 这是一个例子

在aspx页面上写入转发器:

<%#GetShipmentDetail(Container.DataItem)%>

以及

背后的代码
protected string GetShipmentDetail(object oItem)
{
   var cZoneName = DataBinder.Eval(oItem, "ZoneName").ToString();

   if(cZoneName == "whatever")
      return "nothing";
   else
      return "something";

}