你真的应该考虑使用 web 方法和 javascript 来做你想做的任何事情。
但是,如果您绝对必须调用整个页面生命周期并获得回发事件......有几种方法可以做到这一点。包括 __doPostBack 事件,并解析出 Page_Load 事件中的值。
不幸的是,这假设已包含 asp.net 客户端脚本。现代 asp.net 试图最小化这种情况,除非您检查页面源,否则您无法确定它是否在您的页面上。
但这是一种在大多数情况下都应该有效的技术。制作一个不可见的runat服务器按钮,钩住文档点击事件,然后调用按钮点击事件。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<style type="text/css">
.NoDisplay
{
display: none;
}
</style>
<title></title>
</head>
<body style="background: green">
<form id="form1" runat="server">
<div runat="server" id="TestDiv">
</div>
<!-- Hidden button -->
<asp:Button ID="BodyButton" runat="server" OnClick="BodyClick" CssClass="NoDisplay" />
</form>
<script type="text/javascript">
document.onclick = function () { document.getElementById("BodyButton").click(); }
</script>
<script runat="server">
protected void BodyClick(object sender, EventArgs e)
{
TestDiv.InnerHtml = string.Format("This is a click test at {0}", DateTime.Now);
}
</script>
</body>
</html>