2012-03-06 24 views
14

これはIE以外のすべてのブラウザで機能しています。私はC#での背後にあるコード内のリンクを構築しています:SCRIPT87:IE 9の無効な引数、ASP.NET C#

string link = <a onclick=\"Myfunction('" + Server.UrlEncode(mystring) + "');\" href=\"javascript:void(0);\">Open Pop Up Window</a> 

これは私のjavascript関数である:関数は、それはIEで動作し、aspxページ内のonclickメソッドに追加された場合

function Myfunction(pMyString) { 
     CloseWindow(); 

     var url = "DomainPath/MyPage.aspx?Site=" + pMyString; 
     win = window.open(url, "Manage Domain", 'toolbar=no,location=no,status=no,directories=no,scrollbars=yes,resizable=no,width='+700+',height='+500); 
    } 

。それは、私がコードの背後に動的にリンクを構築しているときだけであるようです。パラメータとして値を受け入れず、IEは常にエラーを出力します。SCRIPT87:関数に行番号を指定した引数が無効ですが、デバッグできません。何か忘れましたか?ここで

は、html出力です:

<td><a onclick="Myfunction('urlformyexample.com');" href="javascript:void(0);">Open Pop Up Window</a></td> 
+0

生成されたhtmlも投稿してください。 – gilly3

+0

応答をありがとう、私はhtmlで自分の投稿を更新しました。私が渡す変数はドメイン名になります。そのため、私はそれをパラメータとして持っています。 – Drew

+1

"しかし、私はデバッグすることができません。何か逃しましたか?"はい、あなたは組み込みのIEデバッガを見逃しました。 – kirilloid

答えて

47

IE9のデバッガが動作し、window.openコマンドに失敗します。

IEは、windowName引数のスペースが嫌いです - "ドメインの管理"。

_blankが必要な場合を除き)スペース、ハイフン、アンダースコアを削除してもう一度試してください。

+4

ie9は、ウィンドウ名にアンダースコアやドットを付けません。悲しい! –

+6

+1。 IE9でwindow.open()を破って、ウィンドウ名のハイフンを消します。 – nickb

+1

これについてはどのように知っているのですか?ありがとう! – owca