我刚开始使用ASP.NET。这是我试图做的:
WebUserControl
,其中基本上包含ListBox
,并提供公共AddValue(int value)
方法。此方法只是将值添加到ListBox
。WebForm
,其中包含WebUserControl
的一个实例,每当发生一些JavaScript事件时,我应AddValue
调用WebUserControl
(在我的第一个例子中,这将是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
永远不会被调用。
我还试图通过IPostBackDataHandler
实现WebUserControl
界面,并在JavaScript __doPostBack
中使用mouseWheelHandler
,但LoadPostData
从未被调用过。
将数据从JavaScript事件处理程序获取到服务器控件的最简单方法是什么?