背景
我在我的网站的所有页面上都有一个主要的主页面,网站上的某些页面启动了jQuery UI模式对话框,这些对话框反过来加载了具有自己特殊模态主页面的其他网页形式。
目录结构:
/
/templates/Main.master
/templates/Modal.master
/htmlmodals/popup.aspx
/main.aspx
问题: 似乎有两个问题。首先,当我在Modal主页面中完成导致回发的任何操作时,(popup.aspx)页面会尝试查看调用模式的文件的目录,因此我最终会出现类似
的错误Description: HTTP 404. The resource you are looking for ...blah blah blah...
Requested URL: /popup.aspx
我刚刚发现的另一个问题是生成的源代码形式main.aspx显示我有两个具有完全相同ID的表单字段,即使我指定Modal有不同的。
<form name="aspnetForm" method="post" action="main.aspx" id="aspnetForm">
...
</form>
<div id="modal-holder">
<form name="aspnetForm" method="post" action="popup.aspx" id="aspnetForm">
...
</form>
</div>
查询:
我是否需要在Modal.master文件中指定<html><head></head><body>...
等?我问,因为页面正好加载了我想要的内容(包括后面的代码处理),但回发除外,只需使用以下代码:
Modal.master
<%@ Master Language="VB" AutoEventWireup="false" CodeBehind="modal.master.vb" Inherits="--REMOVED IDENTIFIER--.Web.Site.modal" %>
<form id="modalForm" runat="server">
<div>
<div class="alert-box" id="error-area--modal">
<p></p>
<div class="error-content"></div>
<div class="error-synopsis"></div>
<div class="validity-summary-container">
<ul></ul>
</div>
</div>
<asp:ContentPlaceHolder ID="ContentPlaceHolder1" runat="server">
</asp:ContentPlaceHolder>
</div>
<script>
initialiseEvents();
</script>
</form>
将使用以下jQuery代码
启动典型模式$('#<%= btnPopup.ClientID %>').click(function(e){
e.preventDefault();
dHeight = ($(window).height()) * 0.95;
baseDialog.dialog('option',{title:'Edit', width:'95%', height:dHeight, open:function (e, ui) {$('#modal-holder').load('/htmlmodals/popup.aspx');}}).dialog('open');
});
更新:将相关的html / head / body标签添加到模态母版 NOT 修复回发/重复ID问题
更新2 :在popup.aspx的部分附近添加了一个更新面板,该部分回发,似乎也没有用,仍尝试正常回发到/popup.aspx
答案 0 :(得分:0)
这个问题when-i-load-an-aspx-page-using-jquery似乎与我自己的问题非常相似,所以答案看起来我必须编写一个javascript方法来更新我的页面而不是回发。