从javascript调用代码隐藏方法

本文关键字:隐藏 方法 代码 调用 javascript | 更新日期: 2023-09-27 18:23:36

我有一个代码隐藏方法

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

我需要在javascript中从Pageload调用this RadTreeView1_NodeClick方法我该怎么办?请帮帮我!

从javascript调用代码隐藏方法

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-客户端示例并查看源代码。

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

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

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

使用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)
{
}