1

ページを更新するたびに非常に奇妙なエラーが発生しますが、毎回ではありません。

次のようにデータを印刷する簡単なページがあります。

バックエンド (aspx.cs)

string sql="Select * from content_mgr_multiple where category = '1' limit 0, 1";    
DataView dv = DBAccess.GetListView(sql);
this.ResultList.DataSource = dv;
this.ResultList.DataBind();

フロントエンド(aspx)

<asp:Repeater ID="ResultList" runat="server">
<ItemTemplate>
     <%#  Eval("content") %>
</ItemTemplate>
</asp:Repeater>

コードは上記のように単純に機能しますが、1 回おきの更新で次のエラーが表示されます。 DataBinding: 'System.Data.DataRowView' には、'content' という名前のプロパティが含まれていません。

ページを 6 回更新するとします。2 回目、4 回目、6 回目は問題ありませんが、1 回目、3 回目、5 回目は上記のエラーが表示されます。

次のようにトラブルシューティングを試みました。その DataSource の列名を出力するコードを入れます。

string sql="Select * from content_mgr_multiple where category = '1' limit 0, 1";    
DataView dv = DBAccess.GetListView(sql);
        foreach (DataColumn dr in dv.Table.Columns)
        {
            Response.Write(dr.ColumnName + "<BR>");
        }
this.ResultList.DataSource = dv;
this.ResultList.DataBind();

2 回目、4 回目、6 回目の更新では、列名が英語で出力されます。

id
category
title
titleCh
content
contentCh

1 回目、3 回目、5 回目の更新で、列名が中国語で出力されます。

楤
捡瑥杯特
瑩瑬�
瑩瑬敃�
捯湴敮�
捯湴敮瑃�

私はしばらくこれと戦ってきました。助けてください。ありがとう。

4

1 に答える 1