2

私は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を更新するにはどうすればよいですか?

お手伝いありがとう

4

1 に答える 1

0

iframeのsrcを更新するには、次のコードを使用できます。

//Set upload frame source
        var uploadUrl = '/Profile/upload.aspx?id=' + $.url().param('id').replace('/', '');
        $('#uploadFrame').prop('src', uploadUrl);
于 2012-09-15T03:07:51.890 に答える