免费刷金币,请点击这里
TE社区 > 后端开发
客服QQ:1206116161

MVC4制作网站教程第四章 添加栏目4.1

wzn25843110 于 2018-05-23 16:00:04 创建话题
(3)
(0)
举报

好几天没时间写了。今天有写时间在学一点。
今天状态也不是很好,晕晕沉沉的写吧。

一、用户
二、用户组
三、栏目
3.1添加栏目
首先添加【CategoryController】控制器, 

那么我想我的视图里,首先显示的应该是栏目类型,这里应该是一个下拉框,用户可以选择“一般栏目”,“单页栏目”,“外部链接”。那么首先应该在【CategoryController】添加一个属性,用来返回栏目类型列表。 

#region Attribute
 public List<SelectListItem> TypeSelectList
 {
  get
  {
  List<SelectListItem> _items = new List<SelectListItem>();
  _items.Add(new SelectListItem { Text = CategoryType.一般栏目.ToString(), Value = ((int)CategoryType.一般栏目).ToString() });
  _items.Add(new SelectListItem { Text = CategoryType.单页栏目.ToString(), Value = ((int)CategoryType.单页栏目).ToString() });
  _items.Add(new SelectListItem { Text = CategoryType.外部链接.ToString(), Value = ((int)CategoryType.外部链接).ToString() });
  return _items;
  }
 }
 #endregion

其次,用户应该可以选择内容模型,内容模型是什么? 

内容模型就是这个栏目下可以添加内容的模型名称?这个模型名称对应的就是Models中间的模型类。为了更好的表述在系统中添加模块“Module ”的概念。模块用来指系统中用来实现相应功能的块,想新闻模块,文章模块,留言模块,图片模块,产品模块,服务模块等等,每个模块对应相应的模型和控制器,用来实现设想中的功能。系统中预置的模块用户应该可以设置启用还是关闭。 

第一应该添加内容模型类

using System.ComponentModel.DataAnnotations;

namespace Ninesky.Models
{
 /// <summary>
 /// 内容模块
 /// </summary>
 public class Module
 {
 [Key]
 public int ModuleId { get; set; }
 /// <summary>
 /// 模块名称
 /// </summary>
 [Required(ErrorMessage="×")]
 [Display(Name="模块名称")]
 public string Name { get; set; }
 /// <summary>
 /// 模块模型
 /// </summary>
 [Required(ErrorMessage = "×")]
 [Display(Name = "模块模型")]
 public string Model { get; set; }
 /// <summary>
 /// 启用模块
 /// </summary>
 [Required(ErrorMessage = "×")]
 [Display(Name = "启用模块")]
 public bool Enable { get; set; }
 /// <summary>
 /// 说明
 /// </summary>
 [Required(ErrorMessage = "×")]
 [Display(Name = "说明")]
 public string Description { get; set; }

 }
}

既然有模块类,就应该有模块类的数据处理类ModuleRepository,这块功能暂时留在后面来写,先最简单的实现List(bool enable)函数让其能显示模块列表。 

using Ninesky.Models;
using System.Collections.Generic;
using System.Linq;

namespace Ninesky.Repository
{
 public class ModuleRepository
 {
 public IQueryable<Module> List(bool enable)
 {
  List<Module> _module = new List<Module>();
  _module.Add(new Module { Name = "新闻模块", Model = "News", Enable = true, Description = "新闻模块" });
  _module.Add(new Module { Name = "文章模块", Model = "Article", Enable = true, Description = "文章模块" });
  return _module.AsQueryable();
 }
 }
}

简单吧。模块功能以后再写吧,先为了添加栏目显示两个固定的模块,
 那么后续我们要在控制器中添加[ManageAdd]action 

[AdminAuthorize]
 public ActionResult ManageAdd()
 {
  ModuleRepository _moduleRsy = new ModuleRepository();
  var _modules = _moduleRsy.List(true);
  List<SelectListItem> _slimodule = new List<SelectListItem>(_modules.Count());
  foreach (Module _module in _modules)
  {
  _slimodule.Add(new SelectListItem { Text = _module.Name, Value = _module.Model });
  }
  ViewData.Add("Model", _slimodule);
  ViewData.Add("Type", TypeSelectList);
  return View();
 }

然后添加添加数据处理函数

[AdminAuthorize]
 [HttpPost]
 public ActionResult ManageAdd(Category category)
 {
  categoryRsy = new CategoryRepository();
  if (categoryRsy.Add(category))
  {
  Notice _n = new Notice { Title = "添加栏目成功", Details = "您已经成功添加[" + category.Name + "]栏目!", DwellTime = 5, NavigationName = "栏目列表", NavigationUrl = Url.Action("ManageList", "Cayegory") };
  return RedirectToAction("ManageNotice", "Prompt", _n);
  }
  else
  {
  Error _e = new Error { Title = "添加栏目失败", Details = "在添加栏目时,未能保存到数据库", Cause = "系统错误", Solution = Server.UrlEncode("<li>返回<a href='" + Url.Action("ManageAdd", "Cayegory") + "'>添加栏目</a>页面,输入正确的信息后重新操作</li><li>联系网站管理员</li>") };
  return RedirectToAction("ManageError", "Prompt", _e);
  }
 }

现在开始做视图部分了。
在[ManageAdd]action上点右键添加视图, 

@model Ninesky.Models.Category

@{
 ViewBag.Title = "ManageAdd";
 Layout = "~/Views/Layout/_Manage.cshtml";
}

<div class="left">
 <div class="top"></div>
 左侧列表
</div>
<div class="split"></div>
<div class="workspace">
 <div class="inside">
 <div class="notebar">
  <img alt="" src="~/Skins/Default/Manage/Images/Category.gif" />添加栏目
 </div>

 @using (Html.BeginForm())
 {
  @Html.ValidationSummary(true)

  <fieldset>
  <legend>栏目</legend>
  <ul>
   <li>
   <div class="editor-label">
    @Html.LabelFor(model => model.Type)
   </div>
   <div class="editor-field">
    @Html.DropDownList("Type")
    @Html.ValidationMessageFor(model => model.Type)
    @Html.DisplayDescriptionFor(model => model.Type)
   </div>
   </li>
   <li>
   <div class="editor-label">
    @Html.LabelFor(model => model.Name)
   </div>
   <div class="editor-field">
    @Html.EditorFor(model => model.Name)
    @Html.ValidationMessageFor(model => model.Name)
    @Html.DisplayDescriptionFor(model => model.Name)
   </div>
   </li>
   <li>
   <div class="editor-label">
    @Html.LabelFor(model => model.ParentId)
   </div>
   <div class="editor-field">
    @Html.EditorFor(model => model.ParentId)
    @Html.ValidationMessageFor(model => model.ParentId)
    @Html.DisplayDescriptionFor(model => model.ParentId)
   </div>
   </li>
   <li id="li_model">
   <div class="editor-label">
    @Html.LabelFor(model => model.Model)
   </div>
   <div class="editor-field">
    @Html.DropDownList("Model")
    @Html.ValidationMessageFor(model => model.Model)
    @Html.DisplayDescriptionFor(model => model.Model)
   </div>
   </li>
   <li id="li_categoryview">
   <div class="editor-label">
    @Html.LabelFor(model => model.CategoryView)
   </div>
   <div class="editor-field">
    @Html.EditorFor(model => model.CategoryView)
    @Html.ValidationMessageFor(model => model.CategoryView)
    @Html.DisplayDescriptionFor(model => model.CategoryView)
   </div>
   </li>
   <li id="li_contentview">
   <div class="editor-label">
    @Html.LabelFor(model => model.ContentView)
   </div>
   <div class="editor-field">
    @Html.EditorFor(model => model.ContentView)
    @Html.ValidationMessageFor(model => model.ContentView)
    @Html.DisplayDescriptionFor(model => model.ContentView)
   </div>
   </li>
   <li id="li_nav">
   <div class="editor-label">
    @Html.LabelFor(model => model.Navigation)
   </div>
   <div class="editor-field">
    @Html.EditorFor(model => model.Navigation)
    @Html.ValidationMessageFor(model => model.Navigation)
    @Html.DisplayDescriptionFor(model => model.Navigation)
   </div>
   </li>
   <li>
   <div class="editor-label">
    @Html.LabelFor(model => model.Order)
   </div>
   <div class="editor-field">
    @Html.EditorFor(model => model.Order)
    @Html.ValidationMessageFor(model => model.Order)
    @Html.DisplayDescriptionFor(model => model.Order)
   </div>
   </li>
   <li>
   <div class="editor-label">
   </div>
   <div class="editor-field">
    <input type="submit" value="添加" />
   </div>
   </li>
  </ul>
  </fieldset>
 }
 </div>
</div>
<div class="clear"></div>
@section Scripts {
 @Scripts.Render("~/bundles/jqueryval")
}

这里给一些<li>添加id属性,实现用户在显示不同的栏目类型的时候显示不同的项目。
 在ManageAdd.cshtml底部添加脚本 

<script type="text/javascript">
 Details();
 $("#Type").change(function () {
 Details();
 });
 function Details() {
 var v = $("#Type").val();
 if (v == "0") {
  $("#li_model").show();
  $("#li_categoryview").show();
  $("#li_contentview").show();
  $("#li_nav").hide();
 }
 else if (v == "1") {
  $("#li_model").hide();
  $("#li_categoryview").show();
  $("#li_contentview").hide();
  $("#li_nav").hide();
 }
 else if (v == "2") {
  $("#li_model").hide();
  $("#li_categoryview").hide();
  $("#li_contentview").hide();
  $("#li_nav").show();
 }
 }
</script>

从浏览器中看一下。父栏目这里还有些问题,设想中这里应该是一个下拉框,用户可以选择已存在栏目类型为一般栏目的栏目做父栏目。这里需要下拉树形列表,设想中应该是这个样子,是一个下拉列表和属性列表框的组合框。

html中没有这种类型的控件,mcv4 中带的jquery UI是一个比较好的库,本身包含一定的控件,并且可以自己扩展,但是他缺少一些像,数据表(datagirdview),树形控件(tree),树形组合控件(combotree)等,且jqueryui的式样也不太好变换,决定丢弃jqueryui,而是用easyui(相对jqueryui功能更全面,更容易控制式样),在“引用”上点右键选择管理NuGet程序包 

在已安装的包->全部,选择Jquery Ui点击卸载。 

http://www.jeasyui.com/选在最新版本,在项目的/Scripts文件夹中新建EasyUi文件夹,将easyui中的一下文件夹复制到该文件夹。

 

打开App_Start\BundleConfig.cs,删除jqueryui相关项,添加

 bundles.Add(new ScriptBundle("~/bundles/EasyUi").Include( 
   "~/Scripts/EasyUi/easyloader.js"));
 
bundles.Add(new StyleBundle("~/EasyUi/icon").Include("~/Scripts/EasyUi/themes/icon.css"));

两项,使该文档看起来如下: 

using System.Web;
using System.Web.Optimization;

namespace Ninesky
{
 public class BundleConfig
 {
 // 有关 Bundling 的详细信息,请访问 http://go.microsoft.com/fwlink/?LinkId=254725
 public static void RegisterBundles(BundleCollection bundles)
 {
  bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
   "~/Scripts/jquery-{version}.js"));

  bundles.Add(new ScriptBundle("~/bundles/EasyUi").Include(
   "~/Scripts/EasyUi/easyloader.js"));

  bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
   "~/Scripts/jquery.unobtrusive*",
   "~/Scripts/jquery.validate*"));

  // 使用 Modernizr 的开发版本进行开发和了解信息。然后,当你做好
  // 生产准备时,请使用 http://modernizr.com 上的生成工具来仅选择所需的测试。
  bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
   "~/Scripts/modernizr-*"));

  bundles.Add(new StyleBundle("~/Skins/css").Include("~/Skins/Default/Style.css"));
  bundles.Add(new StyleBundle("~/Skins/usercss").Include("~/Skins/Default/User.css"));
  bundles.Add(new StyleBundle("~/Skins/ManageCss").Include("~/Skins/Default/Manage/Style.css"));
  bundles.Add(new StyleBundle("~/EasyUi/icon").Include("~/Scripts/EasyUi/themes/icon.css"));
 }
 }
}

这里会用到easyui的combotree。
 查阅了官方文档,数据格式为
Tree Data Format 
Every node can contains following properties:
 •id: node id, which is important to load remote data
 •text: node text to show
 •state: node state, 'open' or 'closed', default is 'open'. When set to 'closed', the node have children nodes and will load them from remote site
 •checked: Indicate whether the node is checked selected.
 •attributes: custom attributes can be added to a node
 •children: an array nodes defines some children nodes 

那么在Models文件夹里新家Ui文件夹,该文件夹用来控件数据相关的模型,添加Tree类 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace Ninesky.Models.Ui
{
 /// <summary>
 /// 树形控件数据
 /// </summary>
 public class Tree
 {
 /// <summary>
 /// Id
 /// </summary>
 public int id { get; set; }
 /// <summary>
 /// 文本
 /// </summary>
 public string text { get; set; }
 /// <summary>
 /// 节点状态:'open'或'closed',默认'open'。
 /// </summary>
 public string state { get; set; }
 /// <summary>
 /// 图标
 /// </summary>
 public string iconCls { get; set; }
 /// <summary>
 /// 子节点
 /// </summary>
 public List<Tree> children { get; set; }
 }
}

打开~/Scripts/EasyUi/themes/icon.css文件 

在底部添加代码 

.icon-general { 
 background: url('icons/ns_general.png') no-repeat !important; 
}

切记一定记得加!important来调整css的优先级。easyui会将icon-general这个类添加在列表项的最后,如果不加这句'icons/ns_general.png'图标将不会显示。 

选择一个16*16的图表命名为ns_general.png,并复制到一下文件夹 

这里要用递归的方式调取一般栏目的树形结构:打开CategoryRepository.cs。在底部添加两个函数 

/// <summary>
 /// 栏目列表
 /// </summary>
 /// <param name="model">模型名称</param>
 /// <returns></returns>
 public IQueryable<Category> List(string model)
 {
  return dbContext.Categorys.Where(c => c.Model == model).OrderBy(c => c.Order);
 }
 /// <summary>
 /// 普通栏目树形类表
 /// </summary>
 /// <returns></returns>
 public List<Tree> TreeGeneral()
 {
  var _root = Children(0, 0).Select(c => new Tree { id = c.CategoryId, text = c.Name, iconCls = "icon-general" }).ToList();
  if (_root != null)
  {
  for (int i = 0; i < _root.Count(); i++)
  {
   _root[i] = RecursionTreeGeneral(_root[i]);
  }
  }
  return _root;
 }
 /// <summary>
 /// 普通栏目树形类表递归函数
 /// </summary>
 /// <param name="tree"></param>
 /// <returns></returns>
 private Tree RecursionTreeGeneral(Tree tree)
 {
  var _children = Children(tree.id, 0).Select(c => new Tree { id = c.CategoryId, text = c.Name, iconCls="icon-general" }).ToList();
  if (_children != null)
  {
  
  for (int i = 0; i < _children.Count(); i++)
  {
   _children[i] = RecursionTreeGeneral(_children[i]);
  }
  tree.children = _children;
  }
  return tree;
 }

打开CategoryController,添加一个 [JsonTreeParent()]  返回可以做父栏目的栏目树列表。

#region json
 [AdminAuthorize]
 public JsonResult JsonTreeParent()
 {
  categoryRsy =new CategoryRepository();
  var _children = categoryRsy.TreeGeneral();
  if (_children == null) _children = new List<Tree>();
  _children.Insert(0, new Tree { id = 0, text = "无",iconCls="icon-general" });
  return Json(_children);
 }
 #endregion

打开ManageAdd.cshtml,将@Html.EditorFor(model => model.ParentId)改为<input id="ParentId" type="text" class="easyui-combotree" data-options="url:'@Url.Action("JsonTreeParent", "Category")'" value="0" /> . 

在@section Scripts中减价easyui的脚本和css引用 

@section Scripts {
 @Styles.Render("~/EasyUi/icon")
 @Scripts.Render("~/bundles/EasyUi")
 @Scripts.Render("~/bundles/jqueryval")
} 


OK,打开浏览器测试一下 

可以正常添加栏目。 

今天发现一个问题无论父栏目宣布选什么,提交的ParentId为0,上面“打开ManageAdd.cshtml,将@Html.EditorFor(model => model.ParentId)改为<input id="ParentId" type="text" class="easyui-combotree" data-options="url:'@Url.Action("JsonTreeParent", "Category")'" value="0" /> .” 这里有问题,应改为:@Html.TextBox("ParentId",0,new {@class ="easyui-combotree",data_options="url:'"+Url.Action("JsonTreeParent", "Category")+"'" })。 

修改后正常了,但是使用easyui combotree后,父栏目客户端验证无效了,这个是什么原因,如何解决,知道的朋友不吝赐教!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持TE网络。

扫码关注TE官方微博 扫码关注TE官方微博
javascript解决小数的加减乘除精度丢失的方案 jquery select(列表)的操作(取值_赋值) 分分钟学会vue中vuex的应用(入门教程) 35个Python编程小技巧 JavaScript 浏览器对象模型BOM使用介绍 PHP+shell实现多线程的方法 在sqlserver中如何使用CTE解决复杂查询问题 list和map在普通情况下哪个取数据快? 基于jquery实现的可以编辑选择的下拉框的代码 Ubuntu使用国内源出现Hash Sum mismatch错误的解决 fckeditor php上传文件重命名的设置 Lua学习笔记之函数、变长参数、closure(闭包)、select等 BootStrap的table表头固定tbody滚动的实例代码 SQLite教程(十四):C语言编程实例代码(2) PHP多线程模拟实现秒杀抢单 深入理解JavaScript是如何实现继承的 HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析 简单谈谈 php 文件锁 jenkins中如何集成commander应用的完整步骤 Ubuntu安装Terminalx后更改默认终端设置方法 ThinkPHP行为扩展Behavior应用实例详解 nodejs连接mysql数据库简单封装示例-mysql模块 常用js,css文件统一加载方法(推荐) 并在加载之后调用回调函数 mysql注入导库脚本代码 jQuery实现的Div窗口震动效果实例 Mac磁盘空间不足怎么办?苹果电脑磁盘空间清理方法 JS库之Waypoints的用法详解 js 实现一些跨浏览器的事件方法详解及实例 Angular的MVC和作用域 Ajax全局加载框(Loading效果)的配置 利用JS测试目标网站的打开响应速度 jQuery中noconflict函数的实现原理分解 Extjs中使用extend(js继承) 的代码 Vue.js弹出模态框组件开发的示例代码 Python正则表达式中的re.S的作用详解 iOS开发中CAlayer层的属性以及自定义层的方法 Linux网络搭建基础实验(1) jQuery插件FusionCharts绘制的2D双柱状图效果示例【附demo源码】 css的几种以图换字方式小结 javascript设计模式 接口介绍 javascript中方便增删改cookie的一个类 phpPgAdmin 常见错误和问题的解决办法 JavaScript和jQuery获取input框的绝对位置实现方法 asp常用的正则表达式实现字符串的替换 php class类的用法详细总结 iview中Select 选择器多选校验方法 原生JS封装_new函数实现new关键字的功能 python进阶教程之函数参数的多种传递方法 异步加载script的代码 SEO技术实践操作之网站蜘蛛日志分析 Three.js学习之网格 javascript 事件处理示例分享 ruby的程序结构介绍 使用npm发布Node.JS程序包教程 PHP动态生成javascript文件的2个例子 JavaScript函数模式详解 python list转dict示例分享 深究AngularJS中ng-drag、ng-drop的用法 php绘图之加载外部图片的方法 jQuery对Select的操作大集合(收藏) Linux 修改系统日期和时间 vue环境搭建简单教程 关于Chrome浏览器字体显示的太小不一的bug处理 python根据时间生成mongodb的ObjectId的方法 JavaScript暂停和继续定时器的实现方法 浅析AJAX乱码及错误解决方案 JavaScript判断图片是否已经加载完毕的方法汇总 javascript函数式编程实例分析 Android使用 Spinner控件实现下拉框功能 Bootstrap导航栏各元素操作方法(表单、按钮、文本) 微信小程序实现tab和swiper切换结合效果 jQuery中data()方法用法实例 基于vue-resource jsonp跨域问题的解决方法 Bootstrap php制作动态分页标签 利用angularjs1.4制作的简易滑动门效果 Ajax无刷新分页的性能优化方法 JS实现文字放大效果的方法 使用SQL Server连接服务器访问DB2 Server 微信支付开发交易通知实例 JS中怎样判断undefined(比较不错的方法) CSS相框效果示例代码 Ubuntu复制文件时提示Permission denied的解决方法 Bootstrap每天必学之折叠(Collapse)插件 解决jsp页面使用网络路径访问图片的乱码问题 nodejs基础应用 JS 实现BASE64_ENCODE和BASE64_DECODE(实例代码) PHP防CC攻击实现代码 批量修改ssh配置的expect脚本 最新的CocoaPods安装教程 Prototype源码浅析 Enumerable部分(二) CSS中使用Flexbox来达到居中效果的实例 Python对列表中的各项进行关联详解 JS实现多物体缓冲运动实例代码 jQuery插件Tmpl的简单使用方法 VSCode中如何利用d.ts文件进行js智能提示 javascript input输入框模糊提示功能的实现 详谈JavaScript 匿名函数及闭包 在Python的列表中利用remove()方法删除元素的教程 也谈谈罪恶的Haslayout haslayout解决之道 详解如何从宿主机拖动复制文件到虚拟机VM中的解决方法 PHP实现下载断点续传的方法 .NET 扩展实现代码 JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】 asp.net fileupload控件上传文件与多文件上传 原生js的数组除重复简单实例 jquery.ui.progressbar 中文文档 javascript常用的正则表达式实例 Python中list初始化方法示例 Vue的watch和computed方法的使用及区别介绍 用Python做的数学四则运算_算术口算练习程序(后添加减乘除) JavaSacript中charCodeAt()方法的使用详解 基于JQuery 滑动与动画的说明介绍 c_c++堆栈分布及其设置方法 利用python求相邻数的方法示例 jQuery中 delegate使用的问题 利用DrawerLayout和触摸事件分发实现抽屉侧滑效果 DedeCms V5.3 终极性能优化策略 Oracle 11g服务器安装详细步骤图文详解 jquery禁止回车触发表单提交 ASP初学者常犯的几个错误(ZT) JavaScript中数据类型转换总结 Yii框架获取当前controlle和action对应id的方法 全面接触神奇的Bootstrap导航条实战篇 JavaScript版的TwoQueues缓存模型 jQuery中offset()方法用法实例 java文件输出流写文件的几种方法 javascript教程之不完整的继承(js原型链) JavaScript的jQuery库中ready方法的学习教程 python通过线程实现定时器timer的方法 dedecms5.7 文章不能发布问题探讨及解决方法 JavaScript常用脚本汇总(三) JavaScript的漂亮的代码片段 firefox下jquery ajax返回object XMLDocument处理方法 Powershell脚本的4种执行权限介绍 jQuery实现简单复制json对象和json对象集合操作示例 MySQL远程连接不上的解决方法 使用Yii2实现主从数据库设置 python获取各操作系统硬件信息的方法 Javascript的表单验证-提交表单 jquery仿京东侧边栏导航效果 Debian 7 修改为字符界面登陆的方法 如何理解jQuery中的ajaxSubmit方法 DedeCMS 统计栏目的文章总数的调用方法 Linux VPS一键安装包收集整理 Android官方的侧滑控件DrawerLayout的示例代码 10种Java开发者编写SQL语句时常见错误 通过onmouseover选项卡实现img图片的变化 根据Hibernte的cfg文件生成sql文件 javascript 中String.match()与RegExp.exec()的区别说明 JavaScript中join()方法的使用简介 linux下多个mysql5.7.19(tar.gz)安装图文教程 JS查找字符串中出现最多的字符及个数统计 ubuntu不能识别android设备的解决方法 Centos7使用yum安装Mysql5.7.19的详细步骤 CodeIgniter针对lighttpd服务器URL重写的方法 shell 进度条实现代码 精心挑选的15个jQuery下拉菜单制作教程 在RHEL 5上开启远程telnet 纯js实现倒计时功能 Red Hat Enterprise Linux AS release 4 apache+MYsql+PHP的安装和优化 Mootools 1.2教程 输入过滤第二部分(字符串) Bootstrap框架实现广告轮播效果 thinkPHP中验证码的简单实现方法 android 6.0 写入SD卡的权限申请实例讲解 php 截取utf-8格式的字符串实例代码 Linux常用网络工具之路由扫描工具mtr使用介绍 SQLServer数据库从高版本降级到低版本实例详解 Bootstrap轮播插件简单使用方法介绍 CSS中几种常见的注释 java泛型类的定义与使用详解 浅析SQL Server 聚焦索引对非聚集索引的影响 在Ubuntu系统上搭建Nginx+HHVM+MySQL开发环境的教程 JavaScript 动态加载脚本和样式的方法 线上MYSQL同步报错故障处理方法总结(必看篇) JavaScript和JQuery的鼠标mouse事件冒泡处理 读取目录下的文件得到一个数组 SQl Function 创建函数实例介绍 分享一个用Mootools写的鼠标滑过进度条改变进度值的实现代码 JSP入门教程(3) javascript框架设计之种子模块 MySql允许远程连接如何实现该功能 jQuery实现数字加减效果汇总 php实现在限定区域里自动调整字体大小的类实例 JS实现带鼠标效果的头像及文章列表代码 正则表达式提取img的src js实现跨域的多种方法 javascript 解决浏览器不支持的问题 angularjs学习笔记之三大模块(modal,controller,view) java短网址服务(TinyURL)生成算法 SqlServer高版本数据备份还原到低版本 SSO单点登录的PHP实现方法(Laravel框架) Linux平台php命令行程序处理管道数据的方法 Bootstrap基本样式学习笔记之标签(5) JavaScript多线程的实现方法 MongoDB开源数据库开发工具dbKoda 基于vue 开发中出现警告问题去除方法 python中从str中提取元素到list以及将list转换为str的方法 springBoot 打war包 程序包com.sun.istack.internal不存在的问题及解决方案 分享精心挑选的12款优秀jQuery Ajax分页插件和教程 Mysql5.7.18的安装与主从复制图文详解
CSS3实现透明白块漂浮动画特效.zip jquery tab招聘列表选项卡切换.zip 【ASP.NET源码】锡远博客系统_dotnet2000.zip 原生js仿淘宝手机购买选项代码.zip jQ+CSS3创意动画添加删除效果.zip 前端页面调优squid代理与缓存实战视频教程 jQuery服务器购买抽奖活动源代码.zip jQuery用户交互动态展示信息特效.zip 企业产品展示网站模板.zip JQuery EasyUI+SSH搭建的小程序 jQuery注册登录改密表单代码.zip js+css3页面滚动动画效果代码.zip jQuery制作多种弹出层效果代码.zip HTML5 Canvas实现连线题特效.zip js网页版的贪吃蛇游戏.zip ssm开发校园招聘平台,bootstrap模板+easyUi,后台是springMVC+MYBATIES+MYSQL 环球网带索引jQuery焦点图.zip 【Android】可拖拽排序的ListView jQuery卷帘式菜单栏.zip flash+xml水面涟漪特效.zip CSS3炫酷自定义Checkbox特效.zip 仿泡椒网手机wap安卓软件网站模板.zip 电脑教育培训机构网站模板.zip Solr 高级应用视频 jQuery多个tab切换选项卡代码.zip 超大气城市建筑公司模板.zip css3实现Metro风格.zip maven+springmvc+spring+hibernate重写传智播客OA源代码 HTML5手机端动感登录框代码.zip 国外饮料广告网站模板.zip 大气旅行网站单页模板.zip jquery动态画廊滚动效果.zip jQuery+CSS3方向感知悬停效果.zip jquery滑出式导航菜单.zip 纯css3背景渐变按钮特效.zip Canvas圆形万花筒动画效果.zip jquery左右伸缩滑动效果.zip jQuery手风琴动画特效插件.zip IT工程师服务网页模板.zip jQuery不刷新分页动态数据表格代码.zip 美食天下jQuery导航.zip java学生学生信息界面 jQuery全屏内容插件.zip jQuery带小图全屏幻灯片展示.zip jQuery+CSS3动态图文幻灯片.zip jQuery下一个素描预览幻灯片.zip html5猜拳小游戏源码.zip 宽屏蓝色电脑设计网站模板.zip jQuery招聘网站选择地区行业职位.zip ECSHOP京东商城2013模板.zip jQuery右端悬浮带返回顶部代码.zip 黑色复古培训网站模板.zip jquery点击tab选项卡.zip Discuz! x2.5质感金属模板.zip 疯狂手指Android版源码免费下载 3D设计企业CSS网页模板.zip jquery中间图片放大滚动切换.zip 酒店宾馆网站模板_小兵建站cms Agile Lite的源码库 JSPCN中文网新闻发布系统v1.0 jquery返回顶部隐藏按钮.zip HTML5 3D立方体旋转动画.zip 律师事务所网站模板.zip 基于SSH的Web理财管理系统 jQuery 抽奖转盘demo 美食订餐APP网站模板.zip 【PHP源码】PHPWind Forums 7.3.2 繁体中文版 Build 090512_phpwind_big5_7.3.2.zip jquery淡出淡进文字动画效果.zip JS图片循环放大.zip 仿138中国美容网手机wap人才网站模板.zip 大气扁平风格CSS3模板.zip html5 svg点击购物车图标动态效果.zip 古宅建筑教育网站模板.zip jQuery带背景切换登录注册表单.zip 微信小程序源码-音乐在线歌词搜索 jQuery+CSS3实现画廊滚动缩略图.zip 金色麦田摄影网站模板.zip 微信小程序源码-富文本解析,折线图,MD5,bluebird 工程建设CSS网页模板.zip 机械工业制造公司网站模板.zip safari浏览器jquery搜索框效果.zip struts2+hibernate+spring整合的例子适合初学者《图书管理系统》 韩国经典flash无限图片展示.zip 微信小程序源码-餐厅取号小程序 jQuery表单步骤流程导航.zip 绿色宽屏大气模特网站模板.zip HTML5音乐播放器界面特效.zip 殡仪馆丧事服务网站模板.zip jquery动态下拉菜单.zip jQuery垂直传送带图片切换.zip 员工管理系统(Struts2+hsqldb数据库) 美图秀秀网站导航菜单特效.zip 图书管理系统(Java GUI实现) ECShop 好乐买okbuy模板.zip jquery黑色横向二级导航.zip HTML5+CSS3实现倾斜按钮.zip SSH+pager-taglib-2.0分页例子 【PHP源码】weenCompany企业网站系统(CWS) 中英文测试版UTF8_weencompany.zip mybatis逆向生成项目源码下载 jQuery简洁下拉菜单导航.zip 水果果汁餐饮网站模板.zip 微骏CMS系统 【ASP.NET源码】NewsIssue新闻发布系统_newsissue.zip CSS3提示框Tooltip动画.zip 蓝色清爽单页排版HTML5模板.zip jQuery+CSS3多功能下拉菜单.zip 【ASP.NET源码】三层小型论坛系统_mybbsx.zip 扁平化设计公司网站模板.zip 水墨金鱼模板PSD.zip CSS3实现3D立方体旋转动画特效.zip 儿童创意美术培训HTML5模板.zip jQuery+CSS3文字动画插件Morphext.zip jquery常见问答faq特效.zip spring mvc 初始环境搭建,前后台数据的交互,文件上传 上品商城购物系统(PC端+WAP端) 微信小程序源码-茶铺门店小程序 html5响应式设计bootstrap博客网站单页模板源码 平面设计网站HTML模板.zip jsp+access网络书店销售管理系统(系统+论文+开题报告+任务书+摘要+英文文献) 2345阅读王jQuery全屏幻灯片.zip JS环形文字旋转展示特效.zip 橙色风格网站设计单页模板.zip spring发送邮件demo 美国求职CSS网页模板.zip Android 动画实例(包含帧动画、补间动画、属性动画) HTML5 canvas生成图片马赛克效果.zip 【ASP.NET源码】非非.Net留言本 v1.0beta_feifei.netgbookv1.0beta.zip jQuery公司大事记纵向时间轴.zip JSP+sql网络远程作业处理系统(系统+论文+开题报告+中英文摘要+封面+目录+资料) 房产经纪公司网页模板下载.zip 微信小程序源码-智能机器人 CSS3卡片鼠标悬停滑动代码.zip jQuery图文排版图片预览特效.zip jquery滑动组合相册效果.zip 企业网站html模板下载.zip Jsp论坛系统(BBS) 浅蓝色预约挂号网页模板.zip struts2+hibernate+spring实现的二级联动下拉列表 jQuery提示tips特效代码.zip 紫色简洁HTML5网站模板.zip jQuery手风琴带玻璃流光质感特效.zip 【ASP.NET源码】随机签名(刷新一下页面就变一次) .net源程序_randomword.zip HTML5+CSS3卡片抽出动画.zip 首页flash焦点图特效.zip 个性牛仔风格网页模板.zip mybatis(使用自动扫描mapper、注解方式)+struts+spring 微信小程序 - 外卖搭伴拼团php后端.zip 汽车运输公司网站模板.zip jquery标签筛选联动选中.zip jquery按关键词多选列表框选项.zip CSS3多种不同颜色进度条.zip 浅蓝色会议专题网站模板.zip 用MyEclipse自己搭建一个SSH框架 html5实现ppt文字幻灯片演示特效.zip js幻灯片代码.zip jQuery网站地图鼠标悬停变换颜色.zip Tap4Fun游戏网站jQuery焦点图.zip JS鼠标点击图片放大查看.zip 适合移动网站的Tab选项卡切换代码.zip jQuery左右滑动切换时间轴代码.zip 懒人图库CSS抽屉导航菜单(无JS).zip java的sql解析器jsqlparser jquery左侧列表动态导航.zip jQuery商城网站全屏图片切换代码.zip 对话框动画 【PHP源码】QuiXplorer网络硬盘 v2.3 花花心汉化版_quixplorer23.zip jQuery简约幻灯片画廊.zip 回到网页顶部JS代码.zip 支持PC端手机端幻灯片代码.zip Html5游戏源代码(5款) jQuery区分大小写验证码输入框.zip boostrap可拖动文件批量上传代码.zip Java ee网上文档管理系统 羽毛球门户网站模板.zip 2014本来生活网ecshop模板.zip 牙科诊所行业网站模板.zip jQuery图片分页切换特效.zip Struts+Hibernate实现MVC jQuery幻灯片插件Skippr.zip 扁平大气化妆师网站模板.zip hover显示图片介绍.zip BackTrack 5 Cookbook中文版 渗透测试实用技巧荟萃 点击text文本框弹出日期选择器.zip jQuery鼠标点击水波动画竖直导航代码.zip 一个完整的spider java爬虫 2016专题页面网站模板下载.zip android中Webview与javascript的交互 jQuery左侧垂直四级导航菜单特效.zip 【ASP.NET源码】塞普森信息管理系统 2008 奥运旗舰版_cpushims.zip jQuery图片洗牌式旋转切换特效.zip CSS3全屏背景图片幻灯片.zip 赣极方棋html5小游戏下载.zip jq全屏背景幻灯片.zip 小米论坛wordpress主题.zip 雨滴网站上线倒计时模板.zip jQuery树型手风琴菜单代码.zip jQuery响应式图片播放插件.zip jQuery元素漂浮抖动导航菜单.zip jquery幻灯片tabs选项卡.zip 图片画廊CSS网页模板.zip
举报X