【问题标题】:Can I get control from page placed in a frame of another page?我可以从放置在另一个页面的框架中的页面获得控制权吗?
【发布时间】:2012-09-08 02:59:10
【问题描述】:

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

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

我可以订阅 Summary.aspx 中的事件 CmdSave_Click() 吗?或者有什么方法可以从 ChoicePage.aspx 处理 Summary.aspx 的转发器控件

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

问题来了: 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>

【问题讨论】:

  • 这最终解决了我的问题:在 CmdSave_Click() 函数中的 ChoicePage.aspx 上,我在 Summary.aspx 上调用了另一个函数。这个另一个函数做了 __dopostback("Repeater", "") 并且在我后面的代码中的 Render 事件上,我遍历了Repeater。我没有回答这个问题,因为我确信有更好的方法来做到这一点。祝大家编码愉快。

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


【解决方案1】:

最终解决了我的问题:

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

这个其他函数在我后面的代码中完成了__dopostback("Repeater", "")Render event,我遍历了一个中继器。

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

【讨论】:

    猜你喜欢
    • 2015-04-28
    • 1970-01-01
    • 2011-11-28
    • 1970-01-01
    • 1970-01-01
    • 2021-07-04
    • 1970-01-01
    • 2018-12-16
    • 1970-01-01
    相关资源
    最近更新 更多