私はC#とWebFormsを使用しています。私はこのようなクラスを持っている:Datagrid .Net WebFormsへのオブジェクトの問題バインドリスト
public class Foo
{
public int _touchID;
public string _touchName;
}
その後、私はFoo
のList
を返し、私はDataGrid
にそのリストをバインドするDAOオブジェクトを持っています。
public List<Foo> getFooList()
{ //get my list and whatnot}
私はこのような私のasp:DataGrid
にバインド:aspxページはこのようなものです
TouchGrid.DataSource = dao.getFooList();
TouchGrid.DataBind();
:
<asp:DataGrid ID="TouchGrid" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:BoundColumn HeaderText="ID" DataField="_touchID"></asp:BoundColumn>
<asp:TemplateColumn HeaderText="Touch">
<ItemTemplate>
<asp:Label ID="touchName" text='<%#DataBinder.Eval(Container.DataItem, "_touchname") %>' runat="server"/>
<%--<div class="touchDescriptionHidden"><%#DataBinder.Eval(Container.DataItem, "_description")%></div>--%>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>
私は、コードを実行すると、私は
ので、実行時例外を取得名前を持つフィールドまたはプロパティ選択したデータソースの に「_touchID」が見つかりませんでした。
私はDataItem._touchID
を使用しようとしましたが、それを使って同じエラーが発生しました。私は「知っている私も、私は、これが失敗している理由として、いくつかのヒントを得ることができるかどうかを確認するために、列を自動生成しようとしたが、私は
の列を自動生成することができません
を言ってメッセージを取得します私は何かを逃しているが、私は何が正確か分からない。私は
DataBind
ライン上でデバッグするとDataSource
を見れば、私はうまく私のオブジェクトを見ることができます:TouchGrid.DataSource
[0] - _touchID=1 | _name="stuff" [1] - _touchID=2 | _name="otherStuff"
は、ここでの問題は何ですか?
素敵に動作するはずです。私はそれを見逃してしまった。ありがとう。私はできる限り受け入れるだろう。 – Rondel