繁体   English   中英

从javascript调用代码隐藏方法

[英]call code behind method from javascript

我有一个代码隐藏方法

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

我需要在javascript中调用这个来自Pageload的RadTreeView1_NodeClick方法我该怎么办? 请帮我!

可以从Javascript调用C#方法,但必须是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”)点击()。 或$(“#RadTreeView1”)。触发器('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)
{
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM