5

WebAPI呼び出しの結果に基づいた動的URLを持つiframeがあります。aspxページでsrcを設定する最良の方法は何ですか?iframeの例を次に示します。

<iframe id="dynamicframe" runat="server"></iframe>

次のように、コードビハインドに直接設定する必要があります。

dynamicframe.Attributes["src"] = "http://dynamicurl.com";

または、コードビハインドでプロパティを作成し、iframeで参照する必要があります。

<iframe id="dynamicframe" src="<%= dynamicFrameUrl %>"></iframe>

または、他の方法をすべて使用しますか?

4

2 に答える 2

4

これは一般的な質問であり、どのhtmlタグでも同じです。

別の3番目のオプションは、リテラルコントロールを使用し、コードビハインドでiframeを次のように完全にレンダリングすることです。

 txtLiteral.Text = "string.Format(
      "<iframe id=\"dynamicfrmae\" src=\"{0}\"></iframe>",   PageUrlForSrc  );

すべての方法で異なります:

ページへの直接書き込み<%= %>

  1. 更新パネルでは機能しません
  2. ページがブラウザに送信された瞬間に実行されます(ページのステップの前ではありません)
  3. コントロールとしてアクセスできません

これは私が最も避けている方法です。後で計算を残してページサイクルを避けたい場合、またはそのresponce.flush()直前にある場合にのみ使用します。

リテラルに使用して書く

  1. UpdatePanelと互換性があります
  2. コントロールとしてアクセスできません

コードビハインドの属性として記述します

  1. コントロールにhtmlサイクルのステップを通過させます
  2. ページ上の他の場所で変数としてアクセス可能
  3. このコントロールのIDは変更される可能性がありますが、競合を回避できます

すべての方法には目的があり、私はそれらが最も適しているものに従って使用しました。

于 2012-06-06T03:12:28.623 に答える
0

コードビハインドファイルで利用可能なURLがある場合は、オプション1が最も簡単だと思います。ただし、質問について少し混乱しています。ベストプラクティスを探していますか?

于 2012-06-06T03:02:05.993 に答える