asp.net c#ボタンクロックイベントからjavascript関数に渡す引数
-
10-07-2019 - |
質問
i変数に格納されている文字列値をjavascript関数に渡す必要があります
asp.net c#Webアプリケーションのボタンクリックイベントで呼び出しています。
iはいくつかの方法を試しましたが、正確には得られませんでした。
以下は私が使用しているコードです
protected void Button1_Click(object sender, EventArgs e) { myButton.Attributes.Add("onclick", "openNewWindow(spcd)"); }
これはボタンクリックイベント関数です
'opennewwindow'は私のjavascript関数で、 'spcd'は文字列変数である変数です。これはパブリック文字列変数です。
以下は私のJavaScript関数です
<script type="text/javascript"> function openNewWindow(spcd) { //alert("hello"); var tt = spcd; alert(tt); var theurl="http://www.gmail.com"; popupWin = window.open(theurl, '_blank', 'menubar, toolbar, location, directories, status, scrollbars, resizable, dependent, width=640, height=480, left=0, top=0') } </script>
しかし、このようにすると、javascriptが機能しなくなります。
これを行う実際の方法はどれかわかります
解決
指定したコードは、C#からJavascript関数を呼び出しません。それは、ボタンに新しい属性を追加して、Javascriptイベントハンドラーを接続することです。 JSは、次にボタンをクリックするまで実行されません。ボタンをクリックしてJS関数を実行する場合は、Page_Loadまたはどこでも、ボタンのイベントハンドラーではなく、実行します。
また、次のように、属性の値として送信する必要がある文字列を連結できます:
myButton.Attributes.Add(&quot; onclick&quot ;,&quot; openNewWindow( '&quot; + spcd +&quot;');&quot ;;
ページのライフサイクルイベントハンドラーの一部(ボタンクリックイベントハンドラーではない)でそれを行い、spcd変数がライフサイクルのその時点で必要な値を持っていることを確認してください。
所属していません StackOverflow