asp_异步_修改_如何实现父子页面之间的相互交互

前面的实例中, 是将整个修改的页面全部放在一个页面中,一般在开发中,最好将二者至于两个界面中。


首先在修改的表单的设计代码处:在div中添加一个iframe:

 <div id="editDiv">
         <iframe id="frmEdit" frameborder="0" width="100%" src="javascript:void(0)">
            
         </iframe>

</div>


重新创建一个ShowEdit.aspx:

<script src="../js/jquery-easyui-1.3.1/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        function subFrm() {
            //走异步提交代码
            $.post("Edit.ashx", $("#form1").serializeArray(), function (data) {
                if (data == "ok") {
                    //告诉父容器,我活干完了,关闭对话框,刷新列表
                    window.parent.window.afterEditSucess();
                }
            });
        }

    </script>

<body>
    <form id="form1" runat="server">
    <div>
    <input type="hidden" name="hidId" value="<%= HidId %>"/>
        <table>
       <tr>
         <td>新闻标题</td><td><input type="text" name="txtEditTitle" id="txtEditTitle" value="<%= Title %>"/></td>
       </tr>
       <tr>
         <td>新闻发布人</td><td><input type="text" name="txtEditPeople" id="txtEditPeople" value="<%= People %>"/></td>
       </tr>
       
     </table>
    </div>
    </form>
</body>


ShowEdit.aspx.cs:

public partial class ShowEdit : System.Web.UI.Page
    {
        public string HidId { get; set; }
        public string Title { get; set; }
        public string People { get; set; }
        protected void Page_Load(object sender, EventArgs e)
        {
            int id = int.Parse(Request["id"]??"0");
            BLL.HKSJ_Main mainServer = new BLL.HKSJ_Main();
            var item = mainServer.GetModel(id);
            HidId = item.ID.ToString();


            Title = item.title;


            People = item.people;
        }
    }


如下图:在提交修改的表单的代码处,进行如下操作:

 //提交修改的表单
         function subEditFrom(){
           //将修改的表单提交到后台
//           var editFrmData=$("#editFrm").serializeArray();
//           $.post("Edit.ashx",editFrmData,function(data){
//              if(data=="OK")
//              {
//                   //如果后台返回成功
//           //关闭对话框
//            $("#editDiv").dialog("close");
//           //刷新列表
//           initTableList();
//              }
//              else
//              {
//                 alert(data);
//              }
//           });


              //让子容器的表单提交


              //jq对象转化为dom对象
              //contentWindow可以拿到iframe标签的对象
              $("#frmEdit")[0].contentWindow.subFrm();
           
          
         }

 //由子容器调用的方法
        function afterEditSuccess(){
            //关闭对话框
            $("#editDiv").dialog("close");
           //刷新列表
           initTableList();
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值