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 に答える