DataTableを別の関数に移動して以来、次のエラーが発生しています。DataSourceとDataSourceIDの両方がlistviewで定義されていますが、1つのソースを削除します
Both DataSource and DataSourceID are defined on 'TestView'. Remove one definition.
是非ともスタイル/規格に関するヒントをお持ちでしたら、私もそれを歓迎します。私はaspxコーディングには非常に新しいです。これを引き起こす原因は何ですか?それはそれがそれ自身の機能ではなかった前に起こっていなかった。それはローカル変数の問題ですか?ここで
は結合して、エラーで強調表示されたコードのためのコードです:public DataTable GetTestTable()
{
DataTable testTable = new DataTable("TestView");
testTable.Columns.Add("testdata", typeof(String));
testTable.Columns.Add("user", typeof(String));
testTable.Columns.Add("date", typeof(String));
DataRow arow = testTable.NewRow();
arow["testdata"] = "test data";
arow["user"] = "System";
arow["date"] = "";
testTable.Rows.Add(arow);
return testTable;
}
リストビューのaspxファイル内:ここ
testDAO tda = new testDAO();
DataTable testTable = new DataTable("TestView");
testTable = tda.GetTestTable();
TestView.DataSource = testTable;
TestView.DataBind();
GetTestTable()のコードだ
<asp:ListView ID="TestView" runat="server">
<ItemTemplate>
<tr id="row" runat="server" class='<%# Container.DataItemIndex % 2 == 0 ? "row" : "altrow" %>'>
<td align="left">
<%# Eval("testdata") %>
</td>
<td align="center">
<%# Eval("user") %>
</td>
<td align="center">
<%# Eval("date") %>
</td>
</tr>
</ItemTemplate>
<LayoutTemplate>
<table class="system">
<tr>
<th>
Test Data
</th>
<th>
User
</th>
<th>
Date
</th>
</tr>
<tr id="itemPlaceholder" runat="server" />
</table>
</LayoutTemplate>
</asp:ListView>
私は自分の答えを更新しました –
ええ、問題はnullを修正しました。しかし、私の本当の問題は、Visual Studioがファイルを保存していないことでした。私はsaveを押し続けましたが、まだ古いファイルをロードしていましたが、DataSourceIDがaspxファイルで定義されていました。私の編集者がそれを示していなかったので、気づかなかった。そして、エラーは、aspx.csファイルを強調表示していた。 VSは時々本当に愚かです。 – Dexter
笑somtimesすべての;-)で起こる喜んで私は助けることができる.. :-) –