我刚开始使用 ASP.NET。这是我试图做的:
- 创建一个
WebUserControl
基本上包含 aListBox
并提供公共AddValue(int value)
方法的 a。此方法只是将值添加到ListBox
. - 创建一个
WebForm
包含 my 的实例,WebUserControl
并且每当发生一些 JavaScript 事件时都应该调用AddValue
myWebUserControl
(在我的第一个示例中,这将是WheelEvent
.
我尝试了以下方法:
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="WebApplication1.WebForm1" %>
<%@ Register assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" namespace="System.Web.UI.DataVisualization.Charting" tagprefix="asp" %>
<%@ Register src="WebUserControl1.ascx" tagname="WebUserControl1" tagprefix="uc1" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>test</title>
<script>
if (window.WheelEvent) {
window.addEventListener('wheel', mouseWheelHandler, false);
}
else {
alert("WheelEvent is not supported");
}
function mouseWheelHandler(eventData) {
document.form1.WebUserControl11.AddValue(eventData.deltaY);
}
</script>
</head>
<body>
<form id="form1" runat="server">
<uc1:WebUserControl1 ID="WebUserControl11" runat="server" />
</form>
</body>
</html>
但AddValue
我WebUserControl
从来没有被叫过。我还尝试通过在 JavaScript 中使用和使用来实现IPostBackDataHandler
接口,但也从未被调用过。WebUserControl
__doPostBack
mouseWheelHandler
LoadPostData
将数据从 JavaScript 事件处理程序获取到我的服务器控件的最简单方法是什么?