前言:

  第一次学习使用MVC框架,找了个练手项目,加载zTree树小控件。下面我就一步步说明我这次练手的经历以记录。如果有什么错误,希望各位大神帮忙指正,谢谢。

第一步:

  利用VS2010新建一个MVC4项目TestDemo(为了开发ASP.NET MVC应用,可能你需要先下载并安装ASP.NET MVC4框架),然后在Controllers文件夹下创建DefaultController.cs文件,然后打开该文件,鼠标指向Index函数右键创建对应View视图,它会默认在Views文件下创建Default文件并创建对应视图。

第二步:

  在刚创建的Index视图中加载相应所需的js以及css文件,并且配置zTree信息。代码如下:

@{
Layout = null;
} <!DOCTYPE html>
<link href="~/Scripts/css/zTreeStyle/zTreeStyle.css" rel="stylesheet" />
<script src="~/Scripts/js/jquery-1.4.4.min.js"></script>
<script src="~/Scripts/js/jquery.ztree.all.js"></script>
<script src="~/Scripts/js/jquery.ztree.all.min.js"></script>
<script>
var setting4 = {
data: {
simpleData: {
enable: true,
idKey: "id",
pIdKey: "pId",
rootPId:
}
},
async: {
//异步加载
enable: true,
url: "/Default/AsyncGetNodes",
autoParam: ["id", "name", "pId"]
},
callback: {
beforeExpand: beforeExpand,
onAsyncSuccess: onAsyncSuccess,
onAsyncError: onAsyncError,
onClick: onClick
}
};
function beforeExpand(treeId, treeNode) {
if (!treeNode.isAjaxing) {
return true;
} else {
alert("zTree 正在下载数据,请稍后展开节点。。。");
return false;
}
}
function onAsyncSuccess(event, treeId, treeNode, msg) { }
function onAsyncError() {
alert("数据加载失败");
}
function onClick(e, treeId, treeNode) { }
</script>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>Index</title>
</head>
<body>
<div id="navTree">
<ul id="tree" class="ztree"></ul>
</div>
</body>
</html>

  

第三步:

  ajax请求创建树,这个地方从后台传回的json数据,需要两次eval装换方可成json对象,这个地方一直困惑了我很久。希望有大神可以解答为神马。谢谢哦。

$(function () {
createTree();
})
function createTree() {
$.ajax({
url: "/Default/AsyncGetNodes",
data: { id: },
type: 'Get',
dataType: "text",
success: function (data) {
alert(data);
data = eval('(' + data + ')');
alert(data);
data = eval('(' + data + ')');
alert(data);
$.fn.zTree.init($("#tree"), setting4, data);
},
error: function (msg) {
alert("数据加载失败!" + msg);
}
});
}

以及控制器AsyncGetNodes的相关源码

public ActionResult AsyncGetNodes()
{
string mmResult = App.DtTozTree_XYS("", , true, "", true);
return Json(mmResult, JsonRequestBehavior.AllowGet);
}

后台传回data数据,第一次alert,第一次eval转换并alert,第二次eval装换并alert

虽然转换多次,终归想要的结果出来了,当然这中间再webconfig配置oracle数据信息,以及刚在的App函数,这个每个人形成各异,这里我就不在赘述,寥寥数言,希望各位指点。

MVC4加载zTree树小控件的更多相关文章

  1. C#:将空间数据加载到树视图控件

    自己 整理了 下 代码 测试了下 还行... #region 操作树视图控件 /// <summary> /// 自定义需要的类型 /// </summary> enum Da ...

  2. 转:zTree树控件实战篇:针对多个下拉加载zTree树应该如何做出合理的配置

    今天有一个zTree的朋友遇到一个非常棘手的问题,才研究zTree树控件两天就被上头催着看成果,很是苦恼.他面对的问题就是页面内多个地方需要下拉在其文本框下方加载zTree树,由于对zTree下拉加载 ...

  3. 实现虚拟模式的动态数据加载Windows窗体DataGridView控件 .net 4.5 (一)

    实现虚拟模式的即时数据加载Windows窗体DataGridView控件 .net 4.5 原文地址 :http://msdn.microsoft.com/en-us/library/ms171624 ...

  4. 在ASP.NET中动态加载内容(用户控件和模板)

    在ASP.NET中动态加载内容(用户控件和模板) 要点: 1. 使用Page.ParseControl 2. 使用base.LoadControl 第一部分:加载模板 下 面是一个模板“<tab ...

  5. 上拉加载下拉刷新控件WaterRefreshLoadMoreView

    上拉加载下拉刷新控件WaterRefreshLoadMoreView 效果: 源码: // // SRSlimeView // @author SR // Modified by JunHan on ...

  6. WPF中动态加载XAML中的控件

    原文:WPF中动态加载XAML中的控件 using System; using System.Collections.Generic; using System.Linq; using System. ...

  7. C#窗体加载和控件加载不同步导致控件闪烁

    窗体加载和控件加载不同步导致的控件闪烁现象:// 代码块加在父窗体中的任意位置,解决窗体加载和控件加载不同步导致的控件闪烁问题        protected override CreatePara ...

  8. PIE SDK图层树伙伴控件示例

    1.  功能简介 TocControl控件的主要作用是显示当前加载的图层有哪些.采用什么样的符号等,目的是使用户对当前加载的数据和结构有一个总体的把握.与之相关联的伙伴控件有MapControl,Pa ...

  9. VC中实现带有背景位图的树型控件

    当前许多应用程序都在使用树型控件时为其添加了背景位图,增强的控件的魅力,然而对于Visual C++编程爱好者来说,使用Visual C++MFC提供的树型控件(CTreeCtrl)本身就是一个难点, ...

随机推荐

  1. swift基础:第六部分:类与对象

    http://reactnative.cn/docs/0.24/getting-started.html#content(react Native 开发文档) 互联网这个时代,你松懈一天,就会有很多很 ...

  2. GNU Radio 之 rtl-sdr

    http://sdr.osmocom.org/trac/wiki/rtl-sdr 我使用的是去年买的一个电视棒(ezcap DVB-TFMDAB),50多元,它的频宽为52Mhz - 2.2GHz ! ...

  3. hdu 1874(Dijkstra + Floyd)

    链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874 畅通工程续 Time Limit: 3000/1000 MS (Java/Others)    Me ...

  4. 自定制emoji替换系统的emoji键盘

    一.关于emoji表情 随着iOS系统版本的升级,对原生emoji表情的支持也越来越丰富.emoji表情是unicode码中为表情符号设计的一组编码,当然,还有独立于unicode的另一套编码SBUn ...

  5. php的数据访问和封装运用

    php数据访问: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...

  6. 2017-2018 ACM-ICPC Pacific Northwest Regional Contest (Div. 1)

    A. Odd Palindrome 所有回文子串长度都是奇数等价于不存在长度为$2$的偶回文子串,即相邻两个字符都不同. #include<cstdio> #include<cstr ...

  7. 火狐开发----如何快速的安装火狐XPI文件

    第一步:火狐的自动安装扩展程序,https://addons.mozilla.org/zh-CN/firefox/addon/autoinstaller/ 第二步:安装wget工具,这个Linux应该 ...

  8. 笔记:stm32 printf重定向到UART疑点解析

    在调试过程中往往需要通过打印来看系统运行状态:在STM32平台上,打印重定向有多种实现方案:其一是编译时使用keil自带的MacroLIB,据说这个库对一些C语言基础设施做了新的实现,代码结构更加紧凑 ...

  9. 谈谈对C#中反射的一些理解和认识(下)

    在上一篇中我们列举了一些反射的常规的使用,这一篇我们将介绍一些关于关于反射的高级属性,这些包括创建对反射的性能的总结以及如何优化反射性能,以及通过InvokeMember的方法如何去调用反射等等,通过 ...

  10. [PKUWC 2018]随机算法

    Description 题库链接 给定一张有 \(n\) 个点 \(m\) 条边的无向图,生成 \(1\sim n\) 的全排列,假设一个排列是 \(p\) , \(S\) 是当前最大独立集:如果 \ ...