はじめまして
セバといいます。
VBでaspxを利用しシステムを開発していますが、
次のような現象が発生し困っています。
仕様
1.FormviewのItemTemplateに配置している「edit_Chage」ボタンで
FormviewをEditmodeに変更します。
2.FormviewのEditItemTemplateには「hello」ボタンを配置し、
ボタン押下時にjavascriptを起動します。
問題点
FormviewのFormView1_ModeChangedにてイベントを拾い、
「hello」ボタンにjavascriptを組み込もうとしていますが、
この時点では「hello」ボタンのインスタンスが生成おらず、
『オブジェクト参照がオブジェクト インスタンスに設定されていません。』
のエラーになってしまいます。
サンプルプログラム
///////////////////////////////
Default.aspx
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitio …
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>無題のページ</title>
</head>
<body>
<form id="form1" runat="server">
<div>
</div>
<asp:FormView ID="FormView1" runat="server"
DataSourceID="SqlDataSource1">
<EditItemTemplate>
tmp1:
<asp:TextBox ID="tmp1TextBox" runat="server" Text='<%# Bind("tmp1") %>' />
<asp:Button ID="Button1" runat="server" Text="hello" />
<br />
<asp:LinkButton ID="UpdateButton" runat="server" CausesValidation="True"
CommandName="Update" Text="更新" />
<asp:LinkButton ID="UpdateCancelButton" runat="server"
CausesValidation="False" CommandName="Cancel" Text="キャンセル" />
</EditItemTemplate>
<InsertItemTemplate>
</InsertItemTemplate>
<ItemTemplate>
tmp1:
<asp:Label ID="tmp1Label" runat="server" Text='<%# Bind("tmp1") %>' />
<br />
<asp:Button ID="Button2" runat="server" CommandName="edit" Text="edit_Chage" />
</ItemTemplate>
</asp:FormView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT [tmp1] FROM [tmpTBL]">
</asp:SqlDataSource>
</form>
</body>
</html>
///////////////////////////////
Default.aspx.vb
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub FormView1_ModeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles FormView1.ModeChanged
'「Hello」ボタンへのjavascript組み込み
If FormView1.CurrentMode = FormViewMode.Edit Then
Dim btn As Button
btn = CType(FormView1.FindControl("Button1"), Button)
Dim sbScript As New System.Text.StringBuilder()
sbScript.Append("alert('Hello')")
btn.Attributes("onclick") = sbScript.ToString()
End If
End Sub
End Class
////////////////////////
また、
「Hello」ボタンのインスタンスを強制的に作ろうと、
Default.aspx.vbにFormView1.DataBind()を組み込みましたが、
インスタンスは生成されたものの、
onclickタグは生成されませんでした。
If FormView1.CurrentMode = FormViewMode.Edit Then
Dim btn As Button
FormView1.DataBind() <--- ここに追加
btn = CType(FormView1.FindControl("Button1"), Button)
EditItemTemplateに配置したボタンにプログラムでjavascriptを組み込みたいのですが、
どなたか解決方法をご存知な方がいましたら、ご教示願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onedrive にexcelファイルをア...
-
エクセルに張り付けた写真のフ...
-
aspxをhtmlに変換する方法について
-
VB.NET Excelを読み込んでDataT...
-
連想配列を配列に格納したいで...
-
エクセルのファイル名をコピー...
-
vba 空のデータをSplitする時の...
-
VBA 複数のテキストボックスと...
-
グラフをC#のASP.net MVCで表示...
-
Web画面の自動更新ボタンを押し...
-
Wi-Fiのパスワードが指定なしと...
-
VBAでPDFを作成する際、同じ名...
-
Windows10にデュアルブートでXP...
-
MS onedriveの中にあるaccessプ...
-
C#からvbsを実行したい
-
バッチファイル IF文の書き方に...
-
コマンドプロンプトの窓の起動...
-
ffftpでファイル取得が0バイト...
-
phpのファイルがブラウザで開か...
-
【VB.NET】App.configにファイ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
aspxでIFみたいなことがしたい
-
ASP.netで、CheckBoxListのSele...
-
ASP.NETでTimerコントロールを...
-
<asp>タグの属性情報が取得でき...
-
javascriptでlabelの値取得
-
FormViewのEditItemTemplateに...
-
ASP.Net DataBound時Style変2
-
複数チェックボックスの判定に...
-
aspx画面のINPUTボタンにファン...
-
クリックしたボタンのIDの取得
-
ASP.NET カレンダーの簡易表示
-
HTMLの値の渡し方について質問...
-
ACCESSのレポートの表示...
-
フォームのtextareaにnl2brを使...
-
遷移先のURLにパラメータを表示...
-
機種依存文字
-
write downとfill outの違いを...
-
最大値と最小値の間を循環する変数
-
SELECTボックスの内容を動的に...
-
<br>が文字列で出力されてしま...
おすすめ情報