我有一个代码隐藏方法
protected void RadTreeView1_NodeClick(object sender,Telerik.Web.UI.RadTreeNodeEventArgs e)
{
}
我需要在javascript中从Pageload调用此RadTreeView1_NodeClick
方法
我该怎么办?请帮帮我!
答案 0 :(得分:2)
可以从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客户端示例并查看源代码。
答案 1 :(得分:0)
我想触发点击是最容易的。所以我会做(使用jQuery):
$( “#RadTreeView1”)点击(); 或$(“#RadTreeView1”)。触发器('click');
您应该将RadTreeView1替换为按钮的ClientID。
答案 2 :(得分: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)
{
}