【发布时间】:2012-07-18 14:09:41
【问题描述】:
我有一个简单的 aspx 页面,其中包含在右侧 div 上加载另一个 aspx 页面的链接(使用 JQuery 加载),如下所示:
<%@ Page Title="Home Page" Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<html>
<head>
<script type="text/javascript" src="Scripts/jquery-1.6.2.js"></script>
</head>
<body>
<form id="form1" runat="server">
<script type="text/javascript">
function loadPage() {
$('#myRightdiv').load('Test.aspx', function () {});
}
</script>
<asp:Button ID="Button1" runat="server" Text="Load ..." OnClientClick="loadPage(); return false;" />
<div id="myRightdiv"></div>
</form>
在我的 Test.aspx 中,我有一个这样的 pageLoad:
<%@ Page Title="Test" Language="C#" AutoEventWireup="true" CodeFile="Test.aspx.cs" Inherits="About" %>
<html>
<head id="Head1" runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<script type="text/javascript">
function pageLoad() {
alert("pageloaded");
}
</script>
</form>
</body>
</html>
这在 ASP .NET 3.5 上运行良好 .... 但是使用 .NET 4.0 不会触发 pageLoad!
有什么想法或解决方法吗?
谢谢
【问题讨论】:
-
生成的 HTML 源代码(而不是 ASP.net 源代码)会更有用(因为这是一个 JavaScript 问题)。
-
哪个
pageLoad没有被解雇?主页中的那个还是Test.aspx中的那个? -
从我在Test.aspx 的源代码中可以看到,没有任何东西触发
pageLoad函数。例如,一种方法是<body onload="pageLoad()">,或等效的 ASP.net,但您似乎没有定义这样的属性。比较 3.5 和 4.0 中的源代码,并检查 3.5 中是否存在某些“onload”属性。 -
我不需要定义它...正如我所说,它是一个 .NET 快捷方式,适用于 .NET 3.5...在 .NET 4.0 中发生了一些变化...
-
贴出Test.aspx生成的HTML源码。 (只需在单独的浏览器选项卡中加载 Test.aspx,右键单击它,然后选择“查看源代码”)。通过检查生成的源代码,我们将能够判断
pageLoad函数是否被正确调用。