2011-09-12 18 views
3

私はグリッドを持つasp.netページを持っています。 some.aspxページのRowDateBoundイベントASP.NETの子ウィンドウは、すべてのポストバックの新しいウィンドウに開きます

mybutton.Attributes.Add("onclick", "javascript:window.showModalDialog('some.aspx?ID=" 
                    + mybutton.CommandArgument + 
                    "','window.self','dialogWidth:800px; dialogHeight:800px;center:yes; status:yes; scroll:no; help:no');"); 

に私はpostback.Onがsome.aspxページが新しいウィンドウ(ブラウザ)に再び開くポストバックんドロップダウンとasp.netのボタンがあります。

これを防止するにはどうすればよいですか?

ご協力いただきありがとうございます。

+1

ボタンにはサーバー側コンポーネントもありますか?それはクライアント側でポップアップを開いているように聞こえます。そのような場合は、ASP.NETサーバーコントロールではなく通常のボタンにしてください。最初の場所にポストバックすることはありません。 – David

答えて

7

これまでASP.NETとModalDialogでこの問題が発生しました。あなたがする必要があるのは、ページの先頭に<base target="_self">タグを設定することです。それは正しすぎると思うが、それは私のためにそれを修正したものだ。

これは私をかなり苛立たせました。

これに関する助けが必要な場合は、尋ねてください。

<html> 
<head> 
    <title>My Page</title> 
    <base target="_self"> 
</head> 
<body> 
<!-- Your content --> 
</body> 
</html> 
+0

ありがとう! showModalDialogにこの問題があります。あなたの提案はそれを機能させました。 – kalls

+0

お寄せいただきありがとうございます。 – Kirk

+0

@Krik私はすべてのリンクが新しいウィンドウで開く同様の問題に直面しています。私はあなたの提案を試みましたが、まだ運がありません。ここに私の投稿へのリンクです。http://stackoverflow.com/questions/16254677/why-all-my-links-opening-in-a-new-window – Deb

2

リンク/ボタンの後ろにreturn false;を置くと、ポストバックが起こらないようにすることができます。

+0

グリッドは親ページにあります。子ウィンドウ(some.aspx)にポストバック(ドロップダウンとボタン)が正しく行われている必要があります。偽を返します。助けにならない。私はあなたの提案に感謝します。 – kalls

+0

私はあなたの問題を理解していないと思う、あなたのポストで詳細を与えることができますか? – JonH

+0

'some.aspx'のコントロールが親を更新していますか?親ページは 'some.aspx'のコントロールによってリフレッシュされていますか? –

関連する問題