1

次の手法を使用して、テキストボックスを動的に更新しています-

コードビハインド

Lat.DataSource = ws.returnLAT(place);
Lat.DataBind();

aspx コード

<asp:DataList runat="server" ID="Lat">
<ItemTemplate>

<td>
<asp:Label for="latBox" ID="Label5" runat="server" Text="Latitude"></asp:Label>
<br />
<asp:TextBox ID="latBox" runat="server" Text='<%# Container.DataItem.ToString() %>'></asp:TextBox>
</td>

</ItemTemplate>
</asp:DataList>

1 つのデバッグDataSourceは と同じですが99、Web ページに表示されると、その値は 2 つの別個のテキスト ボックスに分割され、それぞれに 19つのテキスト ボックスが含ま99れています。

どうすればこれを解決できますか?

4

1 に答える 1

1

ここで起こっているのは、(何らかの理由で)992つの別々のレコードとして扱われていることだと思います。DataSource何らかの形式のコレクションである必要があるため、実際には単一の値を渡す必要はありません。

たとえば、バインディングコードを次のように変更した場合:

Lat.DataSource = new List<int>(1) { ws.returnLat(place) };

問題はなくなりますか?

于 2013-01-10T15:03:45.657 に答える