現在、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-transitio …
<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>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
Dim row As GridViewRow = DirectCast(txt.Parent.Parent, GridViewRow)
CD.Text = txt.Text
ここを、TryCastを使ってみてください。
Dim row As GridViewRow = TryCast(txt.Parent.Parent, GridViewRow)
If row Is Nothing Then
Retrun
End If
CD.Text = txt.Text
という感じの処理にでも。
TryCastはキャストできない場合はNothingを返しますので、戻り値を確認すればキャスト出来たか確認できます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 私の能力からして間違っていないような気がします。 4 2022/09/30 13:24
- その他(IT・Webサービス) 対戦型ゲームを考えています。 その時、ゲーマーのハイスコアや全体での 成績スコアなども管理表示したい 2 2023/05/12 14:05
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- インターネットビジネス アフィリエイトの収益化記事について 2 2023/04/04 15:19
- ASP・SaaS FC2 BLOG <AUDIO TAGを入れプレビューはOk テーンプレートを更新すると ✖ 1 2023/08/14 11:40
- JavaScript html5に変えるとスライドショーが消えてしまった。 3 2022/03/26 19:53
- Microsoft ASP ASP.NETや.NET、C#とかVBとか 2 2022/05/16 21:16
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript 画像の表示位置 3 2022/12/23 08:25
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SqlDataSource SelectCommand ...
-
Response.Redirectで引数2つの...
-
GridViewからテンプレートフィ...
-
ページの更新内容が反映されない。
-
DropDownListの表示に列連結し...
-
[ASP]ASPで「PCと携帯」及...
-
C# try-catch でcatchに飛ばす方法
-
winsock通信時エラーの回避
-
ページでエラーが、発生しました。
-
WinXPProにVC++6.0をイン...
-
エラー 'ASP 0115'
-
VBScriptで記述された.aspファ...
-
このページの状態情報は無効で...
-
EXECLマクロでshapeがグルーフ...
-
[PL/SQL]REFCURSORが戻り値のプ...
-
TCPサーバ bind関数のエラーに...
-
「Scripting.FileSystemObject...
-
ASP内で他のASPファイルを読み...
-
CAsyncSocket::Create()がエラ
-
FileCopy時のエラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
隠しフィールドをVBScriptでの...
-
Response.Redirectで引数2つの...
-
GridViewからテンプレートフィ...
-
Tableを動的に増やしたい。
-
GridView表示の高速化
-
Panelを重ねる方法
-
【ASP.NET】 ログインコントロ...
-
asp.net でのドロップダウンリ...
-
ASPからASPを呼び出す方法
-
ページの更新内容が反映されない。
-
クリッカブルマップを利用したA...
-
ASPでpingを飛ばす事は、可能で...
-
ASPへのデータの受け渡しについて
-
SqlDataSource SelectCommand ...
-
AutoPostBackにしているが、う...
-
ASP.NETの拡張子はなぜ「asp」...
-
C# try-catch でcatchに飛ばす方法
-
FileCopy時のエラー
-
エクセルVBA 宣言Dimの場所
-
エラー 'ASP 0115' について
おすすめ情報