1

嗨,我是这个系统的新手,请对我温柔一点。我现在遇到的问题是无法通过 Eval 从 ASPX 调用类文件。类文件位于“~/classes”文件夹中。请为我提供避免此错误甚至解决此错误的方法和方法,谢谢!^^

编程语言:C#
问题发现于:.ASPX gridView
问题也发现于:EstateDBManager 类文件
错误消息:DataBinding:“DWAD_Project.classes.Volunteer”不包含名为“EstateDBManager”的属性。
下面部分gridView的代码

    <asp:TemplateField HeaderText="Estate Name" SortExpression="EstateId">
      <EditItemTemplate>
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("EstateDBManager.findEstate({0}).Name") %>'></asp:TextBox>
      </EditItemTemplate>
      <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# Eval("EstateDBManager.findEstate({0}).Name") %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>

下面是部分 EstateDBManager 类文件的代码:

    namespace DWAD_Project.classes
    {
      public static class EstateDBManager
      {
        public static Estate findEstate(int ID)
        {
           // processes ...
        }
      }
    }

感谢回复和帮助!!^^






问题的答案
GridView

      <asp:TemplateField HeaderText="Estate Name" SortExpression="EstateId">
      <EditItemTemplate>
        <asp:TextBox ID="TextBox1" runat="server" Text='<%# DWAD_Project.classes.EstateDBManager.findEstate(Eval("EstateId")).Name %>'></asp:TextBox>
      </EditItemTemplate>
      <ItemTemplate>
        <asp:Label ID="Label1" runat="server" Text='<%# DWAD_Project.classes.EstateDBManager.findEstate(Eval("EstateId")).Name %>'></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>

类文件

    namespace DWAD_Project.classes
    {
      public static class EstateDBManager
      {
        public static Estate findEstate(int ID)
        {
           // processes ...
        }
      }
    }
4

1 回答 1

2

Eval 用于数据源的属性。如果您只需要代码,请不要使用 Eval

'<%# EstateDBManager.findEstate(Eval("EstateId")).Name %>'

您只需要将 Eval 结果转换为正确的类型,因为它是对象(例如 (int)Eval("EstateId"))

于 2012-07-15T13:20:41.963 回答