Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# c中的ASP.NET javascript回发和捕获事件#_C#_Javascript_Asp.net_Treeview_Postback - Fatal编程技术网

C# c中的ASP.NET javascript回发和捕获事件#

C# c中的ASP.NET javascript回发和捕获事件#,c#,javascript,asp.net,treeview,postback,C#,Javascript,Asp.net,Treeview,Postback,目前正在处理web应用程序。需要一些关于如何在asp.net/javascript中声明事件的一般信息,以及这些事件如何适合于代码隐藏(在本例中为c#) 我自己的情况如下: 我有一个AccountsTreeView,需要用信息更新第二个树视图,具体取决于在AccountsTreeView中检查的节点。由于TreeNodeCheckChanged事件不发布回调,(简单)解决方案是实现一个简单的脚本来提供回发。 我只是不知道如何在我的代码中捕捉回发/事件 我找到的javascript代码将嵌入到.a

目前正在处理web应用程序。需要一些关于如何在asp.net/javascript中声明事件的一般信息,以及这些事件如何适合于代码隐藏(在本例中为c#)

我自己的情况如下: 我有一个AccountsTreeView,需要用信息更新第二个树视图,具体取决于在AccountsTreeView中检查的节点。由于TreeNodeCheckChanged事件不发布回调,(简单)解决方案是实现一个简单的脚本来提供回发。 我只是不知道如何在我的代码中捕捉回发/事件

我找到的javascript代码将嵌入到.aspx文件中:


任何帮助都将不胜感激!请原谅我在我的帖子中的任何错误,这毕竟是我的第一个错误。

您可以通过放入HTML
onclick='postBackByObject(this)
或类似内容来绑定javascript事件。是DOM事件的列表(在代码中使用“属性”列下的单词)

有很多方法可以将数据从javascript传递到C#方法,但下面是一个简单的示例,说明如何使用jQuery(如果不知道,请告诉我)。我更喜欢使用on()方法绑定,而不是将其硬编码到HTML中

<script language="javascript" type="text/javascript">

$("#checkbox-id").on('click','postBackByObject');

function postBackByObject()
    {
        $.ajax({
            url: ControllerName/TreeView_onCheckBoxChanged,
            type: "POST",
            data:{sender:window.event.srcElement}
        });
    }
</script>

$(“#复选框id”)。在('click','postbackyobject');
函数postBackByObject()
{
$.ajax({
url:ControllerName/TreeView_oncheckbox已更改,
类型:“POST”,
数据:{sender:window.event.src元素}
});
}
on()
的好处在于,您可以将任何事件附加到它;它也很有活力,写得很好

然后,您可以将
[HttpPost]
属性放在C#方法上。确保它的名称正确

我有点困惑,为什么要在事件中传递C#方法。你想让它告诉你什么叫做方法吗?因为您需要将某些特定事件绑定到控件(在本例中为复选框)。您肯定不想将所有事件绑定到同一个方法,是吗?

请查看以下问题:
protected void TreeView_onCheckBoxChanged(Object sender, someEvent? e)
{
    e.SelectedNode.Text = "able to access the selected node.";
}
<script language="javascript" type="text/javascript">

$("#checkbox-id").on('click','postBackByObject');

function postBackByObject()
    {
        $.ajax({
            url: ControllerName/TreeView_onCheckBoxChanged,
            type: "POST",
            data:{sender:window.event.srcElement}
        });
    }
</script>