質問: asp.net 別ウィンドウを開く・ジレンマ編 大変お世話になっております。 現在別ウィンドウを開くのに clientscript.registerstartupscript(me.gettype, "opennewwindow", "window.open('urlを指定', 'target');") を使用しております。 ですが上記の場合だとjavascriptの為、asp.net で使用できる ~(チルダ)が使用できず、ルート表示ができません。 response.redirectで記述すると、ターゲットが指定できず、ウィンドウを上書きする形になってしまいます。 足して2で割れればいいのですが、javascriptで ~(チルダ)のようなルート指定ができる方法、もしくは、response.redirectでターゲットが指定できる方法など、もしあるようでしたら、お教えいただけますよう、何卒ご教授くださいませ。 上級者の方は、このジレンマをどのように克服されているのか是非ともお教えくださいませ。
回答: 本質的な問題はなんでしょう。 自分の経験から判断すると、開発環境だとルートが「localhost:ポート/プロジェクト名/」とか なのに、本番環境は「本番ドメイン名/」だったりすることが多く、この違いをうまく吸収したい ということかな、と思うのですが。。。 もしそういうことなら、やりようはいろいろあると思うのですが、単純な方法としては ルートを指定する文字列を設定ファイル内に記述しておいて、windows.openの中の 'urlを指定'のところは上記設定してある文字列+ウィンドウに表示したいファイル名 とかに変えてしまうことかな、と思います。 開発環境と本番環境用の設定ファイルをきちんときりわけて利用すればそれでいけるかと。