FineUI 官方论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

本论坛已关闭(禁止注册、发帖和回复)
请移步 三石和他的朋友们

FineUI首页 WebForms - MVC & Core - JavaScript 常见问题 - QQ群 - 十周年征文活动

FineUI(开源版) 下载源代码 - 下载空项目 - 获取ExtJS - 文档 在线示例 - 版本更新 - 捐赠作者 - 教程

升级到 ASP.NET Core 3.1,快、快、快! 全新ASP.NET Core,比WebForms还简单! 欢迎加入【三石和他的朋友们】(基础版下载)

搜索
查看: 9769|回复: 6
打印 上一主题 下一主题

ext:window局部刷新

[复制链接]
跳转到指定楼层
楼主
发表于 2013-5-9 16:07:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
      用ext:window定义了一个控件Subwindow,它的url加入指向"Test.aspx",定义按钮Button_User点击的时候刷新Subwindow页面。
      具体如下<ext:Window ID="SubWindow" runat="server"></ext:Window>初始化的时候SubWindow.IFrameUrl = "Test.aspx?";。Button_User.OnClientClick = SubWindow.GetShowReference("Test.aspx?", "Test");
      现在不想每次点击按钮Button_User,都整个刷新Test.aspx,想只刷新其中的一部分,也就是第一次的时候执行(!IsPostBack),下面的时候执行IsPostBack。应该如何实现?我现在是了用Ext.getCmp(‘id’).refresh,load等方法都没实现。期望大家能给解答下啊,非常感谢!!
沙发
发表于 2013-5-10 13:21:38 | 只看该作者
你的window控件内嵌了iframe,所以点击按钮相当于重新加载iframe中页面。也可以点击按钮时,调用iframe中的__doPostBack函数,来实现局部刷新,只不过要不要写js代码
板凳
 楼主| 发表于 2013-5-10 14:14:08 | 只看该作者
谢谢老大的回复,非常感谢!我尝试调用__doPostBack函数,但是只是刷新了window控件所在页,没有刷新它url指向的页面。我用了以下js调用:
var currentwindow = Ext.getCmp('RegionPanel1_mainRegion_Panel_Main_Window');
                        var targetid = currentwindow.getContentTarget().id;
                        var iframe = currentwindow.body.query('iframe')[0].contentWindow;
                        __doPostBack(iframe,'test');
希望老大再指点下啊。谢谢!
地板
 楼主| 发表于 2013-5-10 14:15:07 | 只看该作者
感觉我用的__doPostBack参数指向的iframe还是不对,但是不知道应该下面再具体发给谁了
5#
 楼主| 发表于 2013-5-10 14:24:38 | 只看该作者
贴错了。代码调试了好几次,写的有点乱了。应该是__doPostBack('RegionPanel1_mainRegion_Panel_Main_Window','test'); 或__doPostBack(targetid ,'test'); 都试过,没成功。觉得ifame调用__doPostBack却发现ifame没有这个函数功能。
6#
发表于 2013-5-10 15:02:41 | 只看该作者
版本 发表于 2013-5-10 14:24
贴错了。代码调试了好几次,写的有点乱了。应该是__doPostBack('RegionPanel1_mainRegion_Panel_Main_Windo ...

找到iframe的window对象,然后调用它的__doPostBack 函数。 IFrame中的页面要包含PageManager控件
7#
 楼主| 发表于 2013-5-11 14:52:15 | 只看该作者
还是不行。父页面定义如下:
<extageManager ID="ageManager1" AutoSizePanelID="RegionPanel1"  runat="server" EnableAjaxLoading="false"/>
    <ext:RegionPanel ID="RegionPanel1" runat="server">
    <Regions>
    <ext:Region ID="mainRegion" ShowHeader="false" Layout="Fit" Margins="0 0 0 0" Position="Center"
                runat="server" EnableIFrame="true" IFrameName="iframe" >
            
        <Items>  
        <extanel ID="anel_Main_Window" ShowHeader="false"  
            runat="server"  ShowBorder="false" BodyPadding="0" Layout="fit">     
        <Items>
        <ext:Window ID="SubWindow" runat="server" OnClose="SubWindow_Close"  Layout="fit"
        AnchorValue="100% 100%"  IFrameUrl="about:blank;"
         EnableIFrame="true"  AutoHeight="true" AutoWidth="true" BoxMargin="0,0,0,0"
         WindowPosition="GoldenSection" Top="0"  BodyPadding="0" Title="Net Struct Manager" EnableClose="false"></ext:Window>
        </Items>
        </extanel>
        </Items>
    </ext:Region>
    </Regions>
     </ext:RegionPanel>
子页面:
<extageManager ID="ageManager1" runat="server" />
     <ext:Form  EnableBackgroundColor="true" BodyPadding="0px"
        ID="extForm" runat="server" Title="Edit Area" AutoWidth="true" LabelWidth="120px">
        <Rows>
           
            
            <ext:FormRow>
                <Items>
                    <ext:TextBox ID="AreaName" Label="Area Name" Required="true" runat="server"
                        ShowRedStar="True" />
                    <ext:ToolbarFill ID="ToolbarFill1" runat="server"></ext:ToolbarFill>
                </Items>
            </ext:FormRow>
            
                        
            
            <ext:FormRow>
                <Items>
                    <extropDownList ID="DropDownList_Area" Label="Area" Required="true" runat="server">
                   </extropDownList>
                   <ext:ToolbarFill ID="ToolbarFill2" runat="server"></ext:ToolbarFill>
                </Items>
            </ext:FormRow>
        </Rows>
    </ext:Form>。
我在父页面用var currentwindow = Ext.getCmp('RegionPanel1_mainRegion_Panel_Main_Window_SubWindow').body.query('iframe')[0].contentWindow;得到的应该是window对象吧。但是没有__doPostBack 方法。目前我用父页发送消息给子页,然后子页自己刷新的方法暂时解决。但是不是直接__doPostBack 调用。希望sanshi老大有时间能再指点下,谢谢!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|FineUI 官方论坛 ( 皖ICP备2021006167号-1 )

GMT+8, 2024-11-29 04:28 , Processed in 0.044941 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表