从JavaScript调用WebUserControl上的方法

时间:2013-09-27 15:15:34

标签: javascript asp.net

我刚开始使用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事件处理程序获取到服务器控件的最简单方法是什么?

0 个答案:

没有答案