1

vb の助けを借りて JavaScript コードを実行する方法があることを知りたい

page:test1.aspx
<a href="#" onclick="Popup=window.open('testopen.aspx?jack=hello','Popup','toolbar=yes,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=420,height=400,left=430,top=23'); return false;">Test Window</a>


ページ:test2.aspx.vb

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
    Dim check As String = "<a href='#' onclick='Popup=window.open('make_changes_form.aspx','Popup','toolbar=no,location=no,status=no,menubar=no,scrollbars=no,resizable=no,width=420,height=400,left=430,top=23'); return false;>Test Window from vb</a>"
    Context.Response.Write(check)
End Sub


コードがpage test1.aspx機能するようになりました。現在の方法が機能していないため、
機能する方法があるかどうかを知りたいです。 編集page:test2.aspx.vbありがとう _ _


Javascript
 function hello (str1)
  {
     alert(str1)
      alert ("hello world")    
   }

aspx code
    <input type="text" id="2">
    <a href="#" onClick="hello(2.value)">CheckFunction</a>


これが、関数がアクティブにならないため、関数を使用できない理由です。id は数値にすることはできず、英数字の値が必要です。

4

2 に答える 2

1

Firebugを使用して、タグがjavascriptに付属していないことに気付いたので、別の関数を作成してイベントonclickから呼び出しましたが、うまくいきました。

これを試して:

    Dim check As String = "<a href='#' onclick='OpenPopUp()'>Test Window from vb</a>"
    Context.Response.Write(check)
    jscript += "<script language='JavaScript'>"
    jscript += "function OpenPopUp() {"
    jscript += "window.open('popup_to_be_oppened.aspx', '', 'resizable=no , menubar=no, scrollbars=yes, width=290, height=480');"
    jscript += "} </script>"
    Context.Response.Write(jscript)

また、 hello(document.getElementById('2').value代わりに使用する必要がありますhello(2.value)

于 2013-02-05T09:20:25.960 に答える
1

Response.Write を使用するのではなく、実際には標準の ASP.NET ハイパーリンク コントロールとScriptManager.RegisterStartupScriptを使用する必要があります。次に、jQuery を使用してアラートを発生させることができます。

あなたのページで:

<asp:HyperLink runat="server" ID="lnkPopup" ClientIDMode="Static" NavigateUrl="#">Show Popup</asp:HyperLink>

コードビハインドで:

Dim js = <js>$(document).ready(function () {
    $('#lnkPopup').bind('click', function () {
        alert('Some text');
    });
});</js>.Value
ScriptManager.RegisterStartupScript(Me, GetType(Page), "jsPopup", js, true);

実際のスクリプトは、VB.NET で読みやすくする複数行のリテラルです。

于 2013-02-05T08:05:54.587 に答える