我可以从放在另一页的框架中的页面获得控制权吗?

时间:2012-06-11 17:51:30

标签: asp.net iframe checkbox repeater content-pages

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

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

我可以订阅 Summary.aspx 中的事件CmdSave_Click(),还是可以通过某种方式从 ChoicePage.aspx接近 Summary.aspx 的转发器控件

(MSDN谈到在this文章中将值从页面传递到页面,但这对我没有帮助)

问题在于: 页面 ChoicePage.aspx 包含在Master AppMaster.master页面中。 ChoicePage 包含内容标记,其中包含CmdSave及其事件处理程序 CmdSave_Click(),还包含用于显示其他网页的 iframe 标记,摘要.aspx

Summary.aspx 上,我有与数据源绑定的转发器控件,相关字段的类型为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>

1 个答案:

答案 0 :(得分:0)

最终这解决了我的问题:

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

我的代码中的另一个函数__dopostback("Repeater", "")Render event后面迭代了一个Repeater。

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