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>
お礼
すいません、もう一度、よく見たらありました。 前に見たときは、セルの高さしか変わらなかったと思ったのですが、 勘違いですね。失礼しました。 ありがとうございました。