如何将ASPX页面加载到JQuery对话框中

如何将ASPX页面加载到JQuery对话框中,jquery,asp.net,dialog,modal-dialog,Jquery,Asp.net,Dialog,Modal Dialog,当用户单击菜单项时,我试图将ASPX页面加载到对话框中。“主页”使用VS2010构建,包含母版页和默认页。 单击菜单选项时,对话框打开,但完全为空。如果我删除了JS代码的链接(通过重命名菜单选项),所需的页面将在同一选项卡中正确打开。 目标页面与调用页面不使用相同的母版页,因此我认为标签和占位符冲突没有问题。我认为您需要的是一个显示实际页面的模式窗口,对吗?如果是这样的话,看看或者 这些可以显示各种内容,包括URL,如果您正在使用它,这是小菜一碟: $(document).ready(funct

当用户单击菜单项时,我试图将ASPX页面加载到对话框中。“主页”使用VS2010构建,包含母版页和默认页。 单击菜单选项时,对话框打开,但完全为空。如果我删除了JS代码的链接(通过重命名菜单选项),所需的页面将在同一选项卡中正确打开。
目标页面与调用页面不使用相同的母版页,因此我认为标签和占位符冲突没有问题。

我认为您需要的是一个显示实际页面的模式窗口,对吗?如果是这样的话,看看或者 这些可以显示各种内容,包括URL

,如果您正在使用它,这是小菜一碟:

$(document).ready(function() {
    $('#menu-item').click(function() {
        var mydiv = $('#mydiv');
        mydiv.dialog({ autoOpen: false });
        // Load the content using AJAX
        mydiv.load('mypage.aspx');
        // Open the dialog
        mydiv.dialog('open');

        return false;
    });
});

希望这会有所帮助。

下面的代码显示了一个模式JQuery对话框上的aspx页面,它传递一个post值(它是存储在服务器端隐藏字段中的一个学生Id)

主页aspx

<img alt="Previsiones" name="btnPrevisiones" id="btnButton" title="Dialog title"
src="imageFile.png" onclick="ShowStudentFullRecord(document.getElementById('<% =hiStudentId.ClientID%>').value)" />
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SomePage.aspx.cs" Inherits="SomePage" %>
  <label id="lblLabelId">
  <%= this.Something %></label>
“目标”页面aspx

<img alt="Previsiones" name="btnPrevisiones" id="btnButton" title="Dialog title"
src="imageFile.png" onclick="ShowStudentFullRecord(document.getElementById('<% =hiStudentId.ClientID%>').value)" />
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="SomePage.aspx.cs" Inherits="SomePage" %>
  <label id="lblLabelId">
  <%= this.Something %></label>
现在是完全不同的事情 我发现它非常有用。它提供了三种使用jquery将aspx内容动态加载到页面的方法。它还解释了如何将参数作为post值传递到新页面

这篇文章明确了一个重要事实:

请注意,如果将ASP.NET控件嵌入到生成的页面中,则 不应该期望它们在返回后的行为类似于ASP.NET控件 并作为原始HTML嵌入。基本Web表单不知道新的 添加到页面的内容,因此任何嵌入的表单内容都会被处理 仅作为原始HTML

所以。。。您想在JQuery UI对话框上加载aspx页面 提示1您的对话框将像一个详细信息弹出窗口

遵循标题为“基于ASPX的页面内容”的参考文章中介绍的方法。一个非常简单的aspx,没有服务器控件,只有html来呈现您的小客户详细信息弹出窗口。要在JQuery对话框中呈现该页面,请遵循Haythem Tlili的答案

技巧2技巧1对你来说似乎太过分了

按照文章的章节回调到同一页面,并生成HTML,以便在同一页面中呈现所需内容

提示3它类似于删除确认弹出窗口

在这种情况下,删除按钮可能位于中继器或类似设备上。在JQuery脚本中,当提到弹出触发器或容器时,我建议您:

  • 使用标签作为CSS的触发器,使其像按钮一样
  • 使用面板作为容器
  • 在jquery脚本中引用这两个函数时,请这样做:
    $(“#”)。单击(function()
    。这样就不会因为重复器的问题而导致id疯狂
技巧4您只需要在该对话框上显示独立的aspx页面


您可以在页面上放置iFrame(html或aspx)然后使用$.load获得该页面。您需要了解这一点,并且只有在它值得使用时才使用它。如果您希望在原始页面和iFrame中加载的页面之间进行有意义的通信,请不要使用此escenario。

jQuery UI对话框?它实际上不是用来保存整个页面。它是用来保存一个页面内的内容页面。在另一个页面的元素中添加页面级标记(
html
标题
正文
,等等)可能不是一个好主意。我建议将对话框设置代码放在事件处理程序
$(文档)之外。就绪(函数(){var mydiv=$('#mydiv');mydiv.dialog({autoOpen:false})$(“#菜单项”)。单击(函数(){//使用AJAX加载内容mydiv.Load('mypage.aspx');//打开对话框mydiv.dialog('Open');返回false;});})
如果我可以再问一个问题,那么您将如何从aspx页面中关闭对话框?