私はC#でWebページを持っています。コードビハインドでURLを生成し、aspxページでiframeを更新してこのURLを表示したいと考えています。
これを行う手段をしばらく探した後、javascript を登録して iframe を強制的に更新できることがわかりましたが、現在問題が発生しています。
私が何をしようとしても、URLは変更されないようで、ロード時に定義されたURLのままです。
私が何をしているかを見て、この問題を解決できるように、コードの一部をお見せしましょう。
私は行きたいURLを処理するこの文字列を持っています
public String currentMap = "google.com";
これは、javascript を登録する関数です。
protected void Page_Load(object sender, EventArgs e)
{
UtilityClass utility = new UtilityClass();
this.Page.ClientScript.RegisterStartupScript(
this.GetType(),
"StartupScript",
"Sys.Application.add_load(MyLoad);",
true);}
これは、javascript 関数を登録します。この関数は、次のように、変更された URL をロードすることが想定されています。
<script type="text/javascript">
function MyLoad(sender) {
$get('maps').innerHTML += "<%= currentMap %>";
}</script>
内側のhtmlがどのように更新されるかを見ることができますが(ページに何かを追加しているかどうかを確認したかったので、= +演算子を使用していることがわかります)、currentMapの値は常に同じであり、iframeはそうします更新されません。
関数を起動します。グリッドビューでオブジェクトをクリックすると、この関数は次のようになります。
currentMap = "<iframe src=\"somepages.html" id=\"viewerframe\" width=\"100%\" height=\"450\"></iframe>"\"";
iframe の更新を確認できますが、値はhttp://google.comのままです (ハードコードされたテスト値)。
iframeに正しいURLが表示されるようにdivを更新するにはどうすればよいですか?
お手伝いありがとう