日期:2014-05-17  浏览次数:20475 次

快疯了,高手请进来,快来帮帮我!谢谢啦!
我用的是: jQuery+asp.net TreeView
我用jQuery屏闭了系统右键事件,为TreeView做了个右弹出菜单,菜单有两个选项,1“添加新结点”。 2“删除结点”。 当用户点“添加新结点”后回弹出对话框让用户输入新结点的名字。 然后向树里动态插入新结点,就是到了插入新结点这一步, 我实在是做不下去了,绞尽脑汁,痛不欲生。
我想在jQuery里调用codebehind的里的代码,但是想尽各种办法无济于事,

public partial class MasterPages_Frontend : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
     //省略。。。
    }
    public void AddNewNode()
    {
    //开始我用PageMethod,但PageMethod必须是静态方法,不能访问实例对象, 
        //不能访问下面的this.MyTreeView对象,我怎么操作树啊。      

        TreeNodeCollection tnc = this.MyTreeView.Nodes;
        TreeNode tnNode = new TreeNode();   
        tnNode.Text = "root";
        tnc.Add(tnNode);
    }
}
//后来我又用webService 但是他也是不访问到this.MyTreeView.
//妈的,我在想 PageMethod webService你们俩白痴不能访问实例对象,我那么简单的代码写到客户端就可以了,这两SB有什么用呢,
高手,帮帮我,怎么在jQuery里调用我上面那个AddNewNode()方法

------解决方案--------------------
 PageMethod webService 方法如下

[System.Web.Services.WebMethod]
public static string AddNewNode()
{

}
------解决方案--------------------
问下楼主  可以用ajax把添加的节点信息写进数据库,并返回ID之类的信息,然后jQuery添加一个树节点,这样试一下呢?
------解决方案--------------------
Page_Load()
{
    if (Request.QueryString["method"] != null && Request.QueryString["method"].ToString() == "AddNewNode")
        AddNewNode();
}

客户端post或者get这个页面,加上 xxx.aspx?method=AddNewNode