使用gridView中的Eval("")从.ASPX文件访问公共静态类文件

时间:2012-07-15 13:04:53

标签: asp.net class gridview eval invoke

嗨,我是这个系统的新手,请温柔地对待我。我现在遇到的问题是无法通过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 ...
        }
      }
    }

1 个答案:

答案 0 :(得分:2)

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

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

你必须将Eval结果转换为正确的类型,因为它是对象(例如(int)Eval(“EstateId”))