0

我是桌面客户端开发人员。我现在要继续这个项目是带有 AJAX 的 ASP.NET,所以我正在努力学习 Web 开发。

当用户单击 ChoicePage.aspx 上的 CmdSave 按钮时需要从Summary.aspx上的转发器控件中获取所有复选框及其状态的列表。

我可以在 Summary.aspx 中订阅事件 CmdSave_Click()还是有一些方法可以从ChoicePage.aspx 接近 Summary.aspx转发器控件?

(MSDN 在这篇文章中谈到了在页面之间传递值,但这对我没有帮助)

这是问题所在: Page ChoicePage.aspx包含在 Master AppMaster.master 页面中。ChoicePage有 Content 标签,其中包括 CmdSave 和它的事件处理程序CmdSave_Click(),它还包括用于显示另一个页面的iframe标签, Summary.aspx

Summary.aspx上,我有绑定到 DataSource 的转发器控件,相关字段的类型为 bool 类型,由可编辑复选框列表示。单击这些复选框不能导致 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

最后,这就是解决我的问题的方法:

CmdSave_Click()函数中的 ChoicePage.aspx 上,我调用了 Summary.aspx 上的另一个函数。

这个其他函数在我后面的代码中执行__dopostback("Repeater", "")并打开Render event了我遍历中继器。

我没有回答这个问题,因为我确信有更好的方法来做到这一点。

于 2012-09-07T18:46:57.550 回答