0

我有一个方法背后的代码

protected void RadTreeView1_NodeClick(object sender,Telerik.Web.UI.RadTreeNodeEventArgs e)
{
}

我需要从 javascript 中的 Pageload 调用此RadTreeView1_NodeClick方法我会怎么做?请帮我!

4

3 回答 3

2

C# 方法可以从 Javascript 调用,但必须是 PageMethods。PageMethod 的定义与代码隐藏中的任何方法一样。唯一的要求是,您应该在方法签名之前添加 [WebMethod] 属性。然后,可以使用 Javascript 中的 PageMethod 对象调用您的 C# 方法。请注意,页面上 ScriptManager 的 EnablePageMethod 属性应设置为 true。

有关更多信息,请参阅此示例:http ://www.singingeels.com/Articles/Using_Page_Methods_in_ASPNET_AJAX.aspx

关于您的 RadTreeview,我相信它具有客户端 API,您应该能够使用它做任何您想做的事情。请参阅 RadTreeview 客户端示例并查看源代码。

于 2013-07-17T08:54:09.367 回答
0

我想触发点击是最简单的。所以我会做类似的事情(使用jQuery):

$("#RadTreeView1").click(); 或 $("#RadTreeView1").trigger('click');

不过,您应该将 RadTreeView1 替换为按钮的 ClientID。

于 2013-07-17T08:48:55.967 回答
0

使用 Javascript:

__doPostBack("radtree","args");

如果您使用 jquery,您可以调用准备好的文档:

$(function(){
   __doPostBack("radtree","args");
});

或者使用 body onload,并创建一个执行 __doPostBack 的函数。

C#:

protected void Page_Load(object sender,EventArgs e)
{
    if(Request["__EVENTTARGET"]=="radtree")
    {   
       var arguments = Request["__EVENTARGUMENT"]; // this will be "args"
       RadTreeView1_NodeClick(pass parameters);           
    }
}
protected void RadTreeView1_NodeClick(object sender,Telerik.Web.UI.RadTreeNodeEventArgs e)
{
}
于 2013-07-17T08:49:42.813 回答