使用Ajax在另一个ASP.Net页面中加载ASP.Net页面
问题描述:
我设法使用jquery ajax在另一页面的div内加载一个不同的页面。我遇到的问题是当我点击这个子页面中的一个按钮时,它会导致回传到整个父页面。我如何强制它刷新它所在的面板?使用Ajax在另一个ASP.Net页面中加载ASP.Net页面
还有一件事。我不知道我做的是正确的事情,但父页面有runat = server设置的自己的形式,而在div中加载的辅助页面有它自己的形式。我无法从后者中删除表单,因为它会导致错误。
我已经看过一些asp.net ajax教程,但他们不处理加载他们自己的.net控件的子页面。任何人都可以指导我一些很好的教程?
谢谢!
答
你需要创建一个空的一个ID,例如:ajaxDiv
然后创建一个jQuery脚本是这样的:
<script type="text/javascript">
// Called at the loading of a page
$(document).ready(function() {
//here you execute an ajax function
$.ajax({
url: 'the url to retrieve data as string ex : /Webservice/Test',
type: 'get',
async: true of false,
//if the request is successful, you load the content of your div with the strings you loaded
success: function (data) {
$("ajaxDiv").html(data);
}
});
});
</script>
的秘诀就是你的页面加载到Ajax请求。
答
好的,因为您使用的是jQuery,所以让我们设置该事件操作。 我认为以下标记:
<button type="submit" id="mySubmitButtonId">Submit</button>
然后,我的网页上,我有以下的javascript:
$("#mySubmitButtonId").click(function(event) {
event.preventDefault();
// do here what you want to do instead including refresh of a section via ajax
});
怎么样的IFRAME? – Lloyd
将HTML加载到变量中并使用ajax将字符串写入到所需的位置 – CR41G14
将页面加载到页面中,确实使页面成为该页面的一部分,因此它在页面级别所做的任何操作(例如提交)都可以用于该页面实体(页面DOM)在这种情况下。您需要拦截提交以使其仅在您需要影响的部分上工作。 –