UpdatePanel と GridViewについて教えてください
現在、ASP.NET(VB)にて開発を行っています。今悩んでいる事は GridView内でUpdatePanelを使用した際にエラーが表示されます。
エラー内容は下記の通りです。
InvalidCastException はユーザーコードによってハンドルされませんでした。
______________________________________________________________________
型 'System.Web.UI.UpdatePanel' のオブジェクト型
'System.Web.UI.WebControl.GridViewRow' にキャストできません。
どなたか、エラーの対処方をご存知の方がいらっしゃいましたらご指導宜しくお願いします。なお、ソースは下記の様に記述してみました。
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Data.SqlClient" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
Dim txt As TextBox = DirectCast(sender, TextBox)
Dim row As GridViewRow = DirectCast(txt.Parent.Parent, GridViewRow)
CD.Text = txt.Text
End Sub
</script>
<html>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="SM" runat="server">
</asp:ScriptManager>
<asp:TextBox ID="CD" runat="server" Width="50px"></asp:TextBox>
<asp:GridView ID="GridView1" runat="server" AllowPaging="True"
AutoGenerateColumns="False" DataKeyNames="CD" DataSourceID="Source" ShowFooter="True">
<Columns>
<asp:TemplateField HeaderText="CD">
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%# Bind("CD") %>'></asp:Label>
</ItemTemplate>
<FooterTemplate>
<asp:UpdatePanel ID="UP" runat="server">
<ContentTemplate>
<asp:TextBox ID="NewCD" runat="server" AutoPostBack="True"
OnTextChanged="TextChanged" Width="50px"></asp:TextBox>
</ContentTemplate>
</asp:UpdatePanel>
</FooterTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="Source" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionStrings %>"
SelectCommand="SELECT * FROM [TABLE]"
ProviderName="System.Data.SqlClient">
</asp:SqlDataSource>
</form>
</body>
</html>
お礼
ご回答頂きありがとうございます。 表示データは昇順ソートで、最新データである 最下段部分をFormを開いた時に見れる様に 要望されています。 また、宜しくお願い致します。