2011-08-04 70 views
1

我有一个带编辑选项的网格,并且在编辑按钮上单击我需要重定向到编辑页面。 要求将此编辑页面作为背景(前一页)变为灰色的弹出窗口。打开aspx页面作为模态弹出框

我试过模式弹出,但控件在单独的页面上。

我试着与面板和iframe模式弹出:这工作..但他们的另一个问题出现。我需要关闭'保存'或'取消'butotn点击页面。这些控件将在编辑页面和不在prev页面。任何帮助表示赞赏。

感谢 拉雅

+0

为什么你创建一个aspx页面发送...使用自定义的控制,将所有你网/按钮在和呼叫这个控制使用模式弹出... –

+0

:)设计...我们也使用单独的视图\接口\主持人 –

回答

0

我们可以打开一个aspx作为使用的IFrame如下弹出,

首先需要一个按钮,并提供onclick事件如下

<input id="btnSymbol" type="button" value="..." onclick="OpenMyPopUp()" runat="server"/> 

接下来在页面提供一个“格”标签与ID为如下

<div id="MyDialog"> 
     </div> 

然后找到两种方法,其利用本网址,并在弹出的使用IFRAME

打开一个aspx页面下方
function OpenMyPopUp(){openPopup('OpenPage.aspx', 530, 800, 'Page Title');} 

四个参数如下网址,高度,宽度,标题

function openPopup(url, h, w, t) { 
if (url != null && h != null && w != null && t != null) { 

    urlBase = location.href.substring(0, location.href.lastIndexOf("/") + 1); 
    url = urlBase + url; 
    $('#MyDialog').html('<iframe border=0 width="100%" height ="100%" src="' + url + '"> </iframe>'); 
    $("#MyDialog").dialog({ 
     title: t, 
     modal: true, 
     autoOpen: true, 
     height: h, 
     width: w, 
     resizable: false, 
     position: ['right-10', 'top+30'], 
     closeOnEscape: false, 
     dialogClass: "alert" 
    }); 
}} 
4

我会强烈建议使用用户的控制,因为它会更方便你管理,没有意义为它创建一个完整的页面bcz模式弹出使用ajax请求,如果你尝试加载其中的页面,那么你必须做表单发布......它不沿着使用ajax请求或表格回发...

plu的I一直在寻找乌尔问题的答案,我遇到了这篇文章,它说:

你可以使用模式弹出扩展器打开网页的某一部分作为 弹出。但是我们没有任何属性可以在弹出窗口中打开其他html或aspx 页面。

http://wiki.asp.net/page.aspx/1378/open-different-page-using-ajax-modal-popup-extender-control/

,并还发现,人问同样的问题,你没有和他们得到的回应是这里

使用iframe或用户控制

Is there a way to open another page using ModalPopup Extender?

我会建议修改你的设计s时,有没有做任何伤害,相反,它会更加有帮助...

希望这有助于...

1

只是一个想法,但关于使用jQuery“内容()”函数是什么?

您可以设置一个时间间隔以从父页面中查找iframe中的元素。 (您正在使用.net,因此您可以使它在iframe页面上回传时显示)。

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="test.aspx.vb" Inherits="admin_test" %> 

<!DOCTYPE html> 

<html> 
<head runat="server"> 
    <title></title> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>  
    <script> 
     $(function() { 

      var watchForClose = setInterval(function() { 
       if ($('#testIframe').contents().find('#closeModal').length > 0) { 
        clearInterval(watchForClose); 
        /* call function to close modal here..*/ 
        alert('Close modal'); 
       }; 
      }, 100); 

     }); 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <iframe id="testIframe" src="Default.aspx" width="300" height="300"></iframe> 
    </div> 
    </form> 
</body> 
</html> 

以上是在iframe-page中寻找id为“closeModal”的元素。当该元素出现时,您可以调用模式的关闭功能,(只需将该警报替换为呼叫)。

相关问题