私はデスクトップクライアントの開発者です。私は今、このプロジェクトをAJAXを使用したASP.NETで継続する必要があるため、Web開発を苦労して学んでいます。
ユーザーがChoicePage.aspxのボタンCmdSaveをクリックしたときに、 Summary.aspxのリピーターコントロールからすべてのチェックボックスとその状態のリストを取得する必要があります。
Summary.aspxのイベントCmdSave_Click()をサブスクライブできますか、それともChoicePage.aspxからSummary.aspxのリピーターコントロールにアプローチする方法はありますか?
(MSDNは、この記事でページからページへの値の受け渡しについて説明していますが、これは役に立ちません)
問題は次のとおりです。ページChoicePage.aspxがマスターAppMaster.masterページに含まれています。ChoicePageには、CmdSaveとそのイベントハンドラーCmdSave_Click()を含むContentタグがあり、別のページを表示するためのiframeタグSummary.aspxも含まれています。
Summary.aspxには、データソースにバインドされたリピーターコントロールがあり、関連するフィールドは、編集可能なチェックボックスの列で表されるブール型です。これらのチェックボックスをクリックしても、Summary.aspxが更新されないため、(サーバー側の)CheckedChangedイベントを処理することはできません。
これは概念的な質問であるため、ここでコード例が役立つかどうかはわかりません
function SetFrameStatus() {
var v = hdCommand.value.toString().toLowerCase();
hdCommand.value = "";
var frms = (GetFrameAll("FrameSummary"));
if (frms)
{ }
else return;
FrameSummary = frms[0];
DivSummary = FrameSummary.parentNode;
var FrameWindow = frms[1];
var FrameDocument = frms[2];
if (v == "showsummary") {
FrameWindow.location.replace(SummaryPageName);
}
}
<asp:Content ID="ContentSummary" ContentPlaceHolderID="NoUpdateDiv" runat="server">
<div id="DivMenu" class="Flat" style="overflow:visible; display:none;position:absolute;">
<input type="button" id="CmdSave" value="Save" onclick="CmdSave_Click()" />
</div>
<div id="DivSummary" style="position:absolute;margin:0px;padding:0px;display:none">
<iframe title="Loading" id="FrameSummary" marginheight="0px" marginwidth="0px" scrolling="auto"
style="padding:0px; margin:0px;width:auto;" src="loading.htm?Redirect=Summary.aspx" frameborder="0"
onload="FrameSummary_Load()"
></iframe>
</div>