C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[2]: カスタムコントロールで追加したテキストボックスのプロパティ


(過去ログ 119 を表示中)

[トピック内 3 記事 (1 - 3 表示)]  << 0 >>

■69960 / inTopicNo.1)  カスタムコントロールで追加したテキストボックスのプロパティ
  
□投稿者/ 多野 (1回)-(2014/02/13(Thu) 17:33:44)

分類:[ASP.NET (VB)] 

VISUALSTUDIO2010 ASP.NET(VB)でテキストボックスを継承したカスタムコントロールのテキストボックスを作成しています。
 継承先でプロパティを作成たのですが、JAVASPRICTでそのプロパティにアクセスする方法がわかりません。 

DefaultValue(False), _
 Public Property alert() As Boolean 
 Get
 Return Me._alert
 End Get
 Set(ByVal Value As Boolean)
 Me._alert = Value
 End Set
 End Property


カスタムコントロールで上記のようなプロパティを作成したのですが、このプロパティがJAVASCRIPTで見えなくてこまっています。
もともとのテキストボックスのプロパティであるtext(javascriptではvalue)などは見ることができます。

 確認ほうほうとしては、aspxにカスタムコントロール(txtboxEx1)をはりつけ、Loadイベントで
Me.txtboxEx1.Attributes("onBlur") = "textboxEx_Blur(this);"
とします。
javascriptの宣言は以下のように記述します。

function textboxEx_Blur(obj) {
 if (obj.alert == true) {
 alert("成功");
 }
 }

しかし、実際実行してテキストボックスから抜けようとするとtextboxEx_Blurが宣言されていない旨の
javascriptエラーが出てしまいます。

どうもobj.alertが見えていないのが原因のようでした。
javascriptからobj.alertが見える方法はありませんでしょうか? 

引用返信 編集キー/
■69962 / inTopicNo.2)  Re[1]: カスタムコントロールで追加したテキストボックスのプロパティ
□投稿者/ WebSurfer (183回)-(2014/02/13(Thu) 18:21:37)
No69960 (多野 さん) に返信

Web アプリ開発の初心者の方のようですが、サーバー側で起こっていることと
クライアント側で起こっていることの区別、Web アプリはステートレスを認識
されているでしょうか。

> javascriptからobj.alertが見える方法はありませんでしょうか?

基本的には、質問のコードに書いてあるような、クライアントからサーバー側
で動く VB.NET のメソッド、プロパティを呼ぶことはできません。

ただし、以下のように AJAX を利用して呼び出す方法はあります。

ASP.NET AJAX でページの静的メソッド呼び出し
http://surferonwww.info/BlogEngine/post/2012/08/18/aspnet-ajax-client-script-to-call-server-side-static-method-in-page.aspx
引用返信 編集キー/
■69967 / inTopicNo.3)  Re[2]: カスタムコントロールで追加したテキストボックスのプロパティ
□投稿者/ PANG2 (23回)-(2014/02/14(Fri) 12:17:28)
>javascriptからobj.alertが見える方法はありませんでしょうか?

ありません。
ASP.NETからjavascriptに値を渡すことは可能です。

[案1] onBlur イベントに直接書く

ASP.NET側のPreRenderイベントで
textboxEx1.Attributes("onBlur") = "textboxEx_Blur(" & alert & ");"


[案2] Attribute経由

ASP.NET側のPreRenderイベントで
textboxEx1.Attributes("alert") = alert

javascript側
this.getAttribute("alert")


[案3] javascriptの変数経由

RegisterClientScriptBlock で

"var textBoxEx1_alert = " & alert & ";"

を出力


[案4] 隠しフィールド経由

HiddenField1.Value = alert
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -