1

iframe を含む .aspx ページがあります。

<iframe src="SearchAdv.aspx" id="advSearch" runat="server" frameborder="0" scrolling="no" width="100%" height="500px;" ></iframe>

iFrame は、アクセスする必要があるいくつかのコントロールを含む aspx ページを指しています。例:

<asp:dropdownlist id=ddColumn1 runat="server" AutoPostBack="True" Width="270px" onselectedindexchanged="ddColumn1_SelectedIndexChanged"></asp:dropdownlist>

親分離コードから iFrame にあるドロップダウン リストの値を取得する必要があります。次のことを試しましたが、null 参照エラーが発生します。

DropDownList DDCol1 = (DropDownList)advSearch.FindControl("ddColumn1");

助言がありますか?前もって感謝します。

4

1 に答える 1

0

親のコードビハインドから値を読み取ろうとしても何も得られないため、javascript を呼び出して親に戻す必要があると思います。ページの新しくインスタンス化されたバージョンの値を読み取って、表示されているものではありません...

だから、ワークフローの観点から..

1) iFrame ドロップダウンが選択されます (このリストから自動ポストバックを削除します)

2) これにより、その iframe ページで JavaScript 関数が呼び出されます。

3) iFrame ページの JavaScript は、親ウィンドウを呼び出すことができます。parent.window.functionName(yourListValue);

4) 親フレームにはfunctionName(val)、iFrame ウィンドウからの呼び出しを受け取る が含まれている必要があります。

5) 親functionName(val)は、Ajax を介して、またはおそらく最初<asp:hiddenに渡された値をフィールドに入力してから、<asp:buttonコントロールの 1 つをトリガーすることにより、データを自分自身に渡すことができます。その後、親ページのコードビハインドで値をキャッチできます。

話が長くなったように聞こえますが、一度始めれば十分に簡単です。

于 2013-07-03T13:28:27.693 に答える