+ -
当前位置:首页 → 问答吧 → 如何在.net 环境 下使用jquery.treeview?

如何在.net 环境 下使用jquery.treeview?

时间:2009-04-19

来源:互联网

如何在.net 环境 下使用jquery.treeview?主要想知道在后台是.net环境应如何向前台提供json数据,请哪位大虾展示一下,java环境的我就在网上搜索到

作者: foshan   发布时间: 2009-04-19

     以下的代码实现不了异步向后台获取数据

  <script type="text/javascript" src="../Scripts/treeview/lib/jquery.js"></script>
       <script type="text/javascript" src="../Scripts/treeview/lib/jquery.cookie.js"></script>
       <script type="text/javascript" src="../Scripts/treeview/jquery.treeview.async.js"></script>
       <script type="text/javascript" src="../Scripts/treeview/jquery.treeview.js"></script>
       <script type="text/javascript">
           $(document).ready(function() {
               $("#black").treeview({
                   url: "WebService1.asmx/show"
               });
           });
</script>

作者: foshan   发布时间: 2009-04-20

在asp.net 2.0 中jquery.treeview如何异步向后台webservice获取json数据???
下载treeview的DEMO展示异步加载节点是向PHP后台获取数据的,但我改用webservice就不能获取数据。
以下的代码实现不了异步向后台获取数据

  <script type="text/javascript" src="../Scripts/treeview/lib/jquery.js"> </script>
      <script type="text/javascript" src="../Scripts/treeview/lib/jquery.cookie.js"> </script>
      <script type="text/javascript" src="../Scripts/treeview/jquery.treeview.async.js"> </script>
      <script type="text/javascript" src="../Scripts/treeview/jquery.treeview.js"> </script>
      <script type="text/javascript">
          $(document).ready(function() {
              $("#black").treeview({
                  url: "WebService1.asmx/show"
              });
          });
</script>
但是,以下方式是可以从后台获取数据的,说明WebService是没有问题的。经检测,$("#black").treeview({url: "WebService1.asmx/show"})根本就没有向服务器提出请求,但$("#black").treeview({url: "source.php"})就向服务器提出请求并返回数据。
      <input id="Button1" type="button" value="button" onclick="A()"/>
    
      function A() {
        var x = $.ajax({ type: "POST",
            url: "WebService1.asmx/show",
            data: "{}",
            contentType: "application/json; charset=utf-8",
            dataType: "json"
        });
    }
后台:
    [WebMethod]
    public string show()
    {
        string pStrReply = "[{              \"text\": \"1. Review of existing structures\",            \"expanded\": true,          \"children\":        [                    {  \"text\": \"1.1 jQuery core\"                      },                      {                              \"text\": \"1.2 metaplugins\"                }              ]      },      {              \"text\": \"2. Wrapper plugins\"    },      {              \"text\": \"3.Summary\"  },      {              \"text\": \"4. Questions and answers\"      }      ]";
        return pStrReply;
    }

作者: foshan   发布时间: 2009-04-23

以下代码在运行时根据没有向后台提出请求,不知错在哪里?
前台:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default9.aspx.cs" Inherits="test_Default9" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title> </title>
        <link href="../Scripts/treeview/jquery.treeview.css"  rel="stylesheet" type="text/css" />
        <script type="text/javascript" src="../Scripts/treeview/lib/jquery.js"> </script>
      <script type="text/javascript" src="../Scripts/treeview/lib/jquery.cookie.js"> </script>
      <script type="text/javascript" src="../Scripts/treeview/jquery.treeview.async.js"> </script>
      <script type="text/javascript" src="../Scripts/treeview/jquery.treeview.js"> </script>
      
      <script type="text/javascript">
          $(document).ready(function() {
          $("#ajaxTree").treeview({ url: "TreeViewHandler.ashx" });
          });
      </script>

</head>
<body>
    <ul id="ajaxTree">
    </ul>
</body>
</html>


后台:
<%@ WebHandler Language="C#" Class="TreeViewHandler" %>

using System;
using System.Web;

public class TreeViewHandler : IHttpHandler {
    
    public void ProcessRequest (HttpContext context) {
        HttpResponse response = context.Response;
        HttpRequest request = context.Request;

        response.ContentType = "application/json; charset=utf-8";

        string json = string.Empty;
        string param = GetQueryString(request, "root");
        if (param == "source")
        {
            json = "[{              \"text\": \"1. Review of existing structures\",            \"expanded\": true,          \"children\":        [                    {  \"text\": \"1.1 jQuery core\"                      },                      {                              \"text\": \"1.2 metaplugins\"                }              ]      },      {              \"text\": \"2. Wrapper plugins\"    },      {              \"text\": \"3.Summary\"  },      {              \"text\": \"4. Questions and answers\"      }      ]";

        }
        else
        {
            json = "[{              \"text\": \"1. Review of existing structures\",            \"expanded\": true,          \"children\":        [                    {  \"text\": \"1.1 jQuery core\"                      },                      {                              \"text\": \"1.2 metaplugins\"                }              ]      },      {              \"text\": \"2. Wrapper plugins\"    },      {              \"text\": \"3.Summary\"  },      {              \"text\": \"4. Questions and answers\"      }      ]";
        }
            response.Write(json);

    }
    private string GetQueryString(HttpRequest request, string key)
    {
        return (request.QueryString[key] != null) ? request.QueryString[key] : string.Empty;
    }
    public bool IsReusable
    {
        get {
            return false;
        }
    }

}

作者: foshan   发布时间: 2009-04-24