0

私はデスクトップクライアントの開発者です。私は今、このプロジェクトを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>
4

1 に答える 1

0

最後に、これが私の問題を解決したものです:

関数のChoicePage.aspx でCmdSave_Click()、Summary.aspx で別の関数を呼び出しました。

この他の関数は__dopostback("Repeater", "")Render eventコード ビハインドで実行し、リピーターを反復処理します。

これを行うためのより良い方法があると確信しているため、この質問には回答しません。

于 2012-09-07T18:46:57.550 に答える