关闭

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

461人阅读 评论(0) 收藏 举报

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


首先在修改的表单的设计代码处:在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

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:22410次
    • 积分:757
    • 等级:
    • 排名:千里之外
    • 原创:55篇
    • 转载:3篇
    • 译文:0篇
    • 评论:0条