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

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

wzn25843110 于 2018-05-23 16:00:04 创建话题
(92)
(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官方微博
python合并同类型excel表格的方法 详解ASP.NET配置文件Web.config Spring boot按日切分spring boot的nohup.out日志文件的方法 javascript当onmousedown、onmouseup、onclick同时应用于同一个标签节点Element 微信小程序 页面跳转如何实现传值 sqlserver中获取date类的年月日语句 js采用concat和sort将N个数组拼接起来的方法 Jquery.Form 异步提交表单的简单实例 django 使用 request 获取浏览器发送的参数示例代码 jquery实现搜索框常见效果的方法 vue2.0 资源文件assets和static的区别详解 django1.11.1 models 数据库同步方法 利用PHP访问数据库_实现分页功能与多条件查询功能的示例 python学习笔记--将python源文件打包成exe文件(pyinstaller) jquery操作angularjs对象 js绘制购物车抛物线动画 js通过iframe加载外部网页的实现代码 Discuz 密码错误次数过多导致等待15分钟的解决办法 redislive监控redis服务的图文教程_动力节点Java 学院整理 javascript验证只能输入数字和一个小数点示例 检测一个函数是否是JavaScript原生函数的小技巧 js统计网页在线时间的脚本 jQuery动态产生select option下拉列表 HTML5 js实现拖拉上传文件功能 Linux Shell脚本系列教程(三):变量和环境变量 asp.net BackgroundWorker之在后台下载文件 部署Python的框架下的web app的详细教程 javascript复制对象使用说明 使用FSO按文件大小浏览文件目录并进行删除操作 Python实现遍历目录的方法【测试可用】 Visual Studio 2017正式版发布 亮点看这里 AngularJS 将再发布一个重要版本 然后进入长期支持阶段 js兼容火狐显示上传图片预览效果的方法 织梦DEDECMS中的时间格式代码汇总 JavaScript中__proto__与prototype的关系深入理解 JavaScript定义函数_动力节点Java学院整理 jQuery添加和删除指定标签的方法 asp.net 购物车实现详细代码 Hibernate包作用详解 ajax实现上传图片保存到后台并读取的实例 X-Scan扫描器使用教程 linux下保存笔记本屏幕亮度设置r(背光亮度)的方法 Xcode 9下适配iPhoneX导致iOS 10不兼容问题的解决方法 Python实现拼接多张图片的方法 React中使用UEditor百度富文本的方法 ASP.NET中MVC使用AJAX调用JsonResult方法并返回自定义错误信息 javascript遍历控件实例详细解析 使用ajax操作JavaScript 对象详解 JavaScript实现快速排序的方法 .net面向对象之多线程(Multithreading)及 多线程高级应用 centos7.4系统中yum源安装mysql 5.6 JavaScript中对循环语句的优化技巧深入探讨 mybatis 模糊查询的实现方法 Mac系统怎么让图片以幻灯片形式播放? 快速删除DiscuzNT论坛数据表和存储过程 MongoDB 语法使用小结 两个div如何并排一行具体该怎么实现 Android自定义view倒计时60秒 ASP trim,ltrim,rtrim 去前后空格 函数 php中实现进程锁与多进程的方法 js中的值类型和引用类型小结 文字说明与实例 js实现图片在未加载完成前显示加载中字样 微信小程序 this和that详解及简单实例 ASP.NET数据绑定GridView控件使用技巧 android ItemTouchHelper实现可拖拽和侧滑的列表的示例代码 php实现查看邮件是否已被阅读的方法 javascript搜索框点击文字消失失焦时文本出现 深入源码解析Python中的对象与类型 对vue事件的延迟执行实例讲解 利用js判断手机是否安装某个app的多种方案 JQuery.Ajax之错误调试帮助信息介绍 论Bootstrap3和Foundation5网格系统的异同 Android实现图片区域裁剪功能 centos下file_put_contents()无法写入文件的原因及解决方法 PHP+FFMPEG实现将视频自动转码成H264标准Mp4文件 sniffer攻击实例 json实现jsp分页实例介绍(附效果图) 详解CSS3中字体平滑处理和抗锯齿渲染 ASP.NET页面某些选项进行提示判断具体实现 深入浅出理解javaScript原型链 openSUSE11.0的更新地址 pstools使用方法 Swift Self详解及简单实例代码 Linux系统请求 系统救命稻草 浅谈Java中的class类 使用contextMenu插件实现Bootstrap table弹出右键菜单 Python Tkinter GUI编程入门介绍 jquery EasyUI的formatter格式化函数代码 利用HTML5+CSS3实现3D转换效果实例详解 Redis实现唯一计数的3种方法分享 Redis批量删除KEY的方法 详解Angular 开发环境搭建 asp.net文件上传示例分享 用Python生成器实现微线程编程的教程 JavaScript用JQuery呼叫Server端方法实现代码与参考语法 php中的Base62类(适用于数值转字符串) PHP动态分页函数,PHP开发分页必备啦 php处理静态页面:页面设置缓存时间实例 Debian如何安装闭源软件包有哪些方法 关于优酷网reset.css参考 Laravel+Layer实现图片上传功能(整理篇) javascript正则匹配汉字、数字、字母、下划线 asp.net(c#)中取得文件物理路径 1 行 Python 代码快速实现 FTP 服务器 用Ajax读取xml文件的简单例子 AngularJS使用angular.bootstrap完成模块手动加载的方法分析 php实现等比例不失真缩放上传图片的方法 javascript得到当前页的来路即前一页地址的方法 PHP基于GD库的缩略图生成代码(支持jpg,gif,png格式) 如何编写一个ASP类 iOS中利用CAGradientLayer绘制渐变色的方法实例 Lua编程示例(三):稀疏表、双端队列、格式化输出、表和循环表的格式化输出 javascript使用正则表达式检测IP地址 10个JavaScript中易犯小错误 Python基于递归算法求最小公倍数和最大公约数示例 Vue结合原生js实现自定义组件自动生成示例 PHP注入实例之PHP网站系统入侵(图) 存储过程实现订单号,流水单号(8位)的详细思路 js验证输入是否为手机号码或电话号码示例 vue中七牛插件使用的实例代码 Vue.2.0.5实现Class 与 Style 绑定的实例 JS+canvas动态绘制饼图的方法示例 python快速查找算法应用实例 Mysql row number()排序函数的用法和注意 双系统计算机怎样卸载其中一个? js取模(求余数)隔行变色 Oracle中Like与Instr模糊查询性能大比拼 Android实现摄像头拍照功能 PHP实现RSA签名生成订单功能【支付宝示例】 ASP中CINT和INT的区别 jquery append 动态添加的元素事件on 不起作用的解决方案 sed找到关键字所在行并将其前面的第一个字符删除的命令 SQLServer 数据库开发顶级技巧 php在程序中将网页生成word文档并提供下载的代码 JavaScript数据类型转换的注意事项 js 表单验证方法(实用) js加减乘除丢失精度问题解决方法 php中删除数组的第一个元素和最后一个元素的函数 详解iOS社会化分享集成 JavaScript入门教程(8) Location地址对象 Javascript中的this绑定介绍 js删除所有的cookie的代码 BootStrap模态框不垂直居中的解决方法 iOS开发之适配iOS10以及Xcode8 python使用MySQLdb访问mysql数据库的方法 Javascript 是你的高阶函数(高级应用) JS正则表达式的验证 原生JS实现《别踩白块》游戏(兼容IE) MYSQL必知必会读书笔记 第一章(基础) 帝国CMS添加迅雷下载的方法 安装Centos 6.5时包组安装建议详解 JSP 不能解析EL表达式的解决办法 HTML5应用之文件上传 javascript闭包的高级使用方法实例 php通过会话控制实现身份验证实例 linux 防御SYN攻击步骤详解 js 关键词高亮(根据ID_tag高亮关键字)案例介绍 JavaScript Array Flatten 与递归使用介绍 vuex 使用文档小结篇 Java语言多线程终止中的守护线程实例 ECSHOP模版系统Assign和Include模版标签使用介绍 Jquery在指定DIV加载HTML示例代码 Python中正则表达式match()、search()函数及match()和search()的区别详解 ES6新特性之类(Class)和继承(Extends)相关概念与用法分析 javascript正则表达式定义(语法)总结 JavaScript中 ES6变量的结构赋值 vue货币过滤器的实现方法 Oracle触发器表发生了变化 触发器不能读它的解决方法(必看) js+ajax处理java后台返回的json对象循环创建到表格的方法 HTML的一些关于颜色方面的参考 php数组分页实现方法 PHP正则表达式抓取某个标签的特定属性值的方法 优化 SQL Server 索引的小技巧 在Windows系统下使用PHP生成Word文档的教程 javascript 变量作用域 代码分析 Windows下配置Nginx+PHP基本操作(启动、重启和退出) 在Vue 中使用Typescript的示例代码 a标签的css样式四个状态LVHA的设计 DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等) 基于JavaScript实现飘落星星特效 Nodejs之http的表单提交 Python操作使用MySQL数据库的实例代码 html5简介_动力节点Java学院整理 iOS输出手机系统版本号 php将字符串转化成date存入数据库的两种方式 Vue的事件响应式进度条组件实例详解 jQuery计算textarea中文字数(剩余个数)的小程序 javascript 定时器工作原理分析 利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小) Digital Ocean服务器的一些使用体验分享 Python3 操作符重载方法示例 在vscode中统一vue编码风格的方法 Mysql5.7.18版本(二进制包安装)自定义安装路径教程详解 Android studio圆形进度条 百分数跟随变化 Asp.net GridView使用大全(分页实现) Textarea根据内容自适应高度 javascript中this指向详解 js实现文字闪烁特效的方法 用<TABLE>语句来实现圆角表格可以省去制作圆角图片之苦! bootstrap table之通用方法( 时间控件,导出,动态下拉框, 表单验证 ,选中与获取信息)代码分享
jQuery鼠标滑过翻转显示描述.zip JSP无限级分类目录树 劲爆dj音乐网站模板.zip jquery鼠标划过内容背景滑动切换.zip java Servlet开发的在线答疑系统整站源码,可用于java毕业设计 HTML5单页模板WalkRide.zip 原生Bootstrap旋转木马特效.zip 干净优雅的设计公司模板.zip jQuery播放器在线音乐电台代码.zip jQuery个性圆圈倒计时特效.zip 帝国CMS仿西部期刊网模板.zip 摩托车爱好者网站模板.zip 微信小程序源码-新闻客户端 CSS3设计冒险岛游戏场景特效.zip Bootstrap教育培训建站模板.zip jQuery鼠标拖拽插件tinyDraggable.zip HTML5超酷吉普车动画.zip 九幽图片云存储SDK源码 jquery按钮弹出提示框.zip jQuery圆形修边注册表单.zip 半透明美食类网站模板.zip 【PHP源码】盈诺礼品论坛系统_ynlpbbs.zip 战略合作公司网站模板.zip jquery圆形转盘抽奖.zip css3实现Icon UI图标.zip HTML5 SVG弹性Tooltip提示框特效.zip Swing+sqlserver讯友桌面通讯录 紫色透明设计网站模板.zip jQuery动态添加删除移动代码.zip python小博客项目 互联网技术公司网站模板.zip 微信小程序源码-重邮 吉他乐器爱好者网站模板.zip 用maven搭建Spring+SpringMVC+MyBatis+Bootstrap+mysql实现后台管理 jQuery点击加入购物车动画特效.zip 3D立体环形百分比进度图表代码.zip ECShop 乐淘模板.zip java实现oa办公系统(ssh) 窄屏单页专题页div+css模板.zip html5动画电子生日贺卡特效.zip 汽车网站CSS网页模板.zip 微信小程序源码-外卖小程序 左旋肉碱排名第一模板dede整站程序源码.zip 墨绿色视频首页html模板.zip 鼠标悬停内容移动切换jQuery.zip html5+css3点击眼睛玩游戏源码.zip jQuery底部鼠标悬停展示二维码特效.zip jQuery程序员求签特效.zip SpringCloud基于SpringBoot 分布式服务实现 医疗团队介绍医院网站模板.zip 2014美丽说ecshop模板.zip 【PHP源码】ECShop 2.6.1 正式版 Bulid 081208 GBK_ecshop_v2.6.1_gbk_build1208.zip jQuery右侧图文混排展示.zip 欧美音乐爱好者网站模板.zip listview悬浮头部 CSS3实现会眨眼的蚱蜢动画.zip loading动画加载进度条效果.zip js+css3扁平化APP图标时钟动画.zip js仿携程网机票城市选择器代码.zip 微信小程序 - 便民+生活分类.zip js鼠标拖动滑块左右滑动代码.zip jQuery横向手风琴效果.zip 微信小程序源码-大转盘 jQuery网站右侧客服带返回顶部.zip 带铃声报警音乐js倒计时.zip jQuery液态式环形按钮菜单特效.zip jQuery+CSS3仿IOS5通知中心.zip 土木工程公司网站模板.zip spring boot多数据源自动路由 HTML5读书教育网站模板.zip iOS7样式开关插件.zip 外贸企业HTML5整站模板.zip js鼠标经过图标导航高亮旋转代码.zip H5调用摄像头读取二维码完整示例(含源码和引用文件,可在手机中直接使用) css3网页加载后图片翻转效果代码.zip Mayter 大型Web安全 培训课程 百度云下载 电影网站常用jquery焦点图.zip jQuery仿小猪CMS官网幻灯片代码.zip jquery满屏焦点图.zip jQuery可悬停控制图片轮播代码.zip 微信小程序源码-活动报名 HTML5手机验证抽奖领券代码.zip jQuery全屏幻灯片插件finger.zip easyui+springMVC+mybatis+sqlserver 框架搭建模板 橙色两栏博客wordpress主题.zip 精美HTML5模板15套 jQuery点击弹出确认窗口对话框.zip jQuery鼠标悬停文字提示插件.zip 水果蔬菜种植网站模板.zip 微信小程序源码-灵动云商 jquery select带筛选下拉框代码.zip 网上考试系统设计与实现本科毕业设计Struts2+HIBENRNATE Discuz! blue风格.zip PHPWind论坛 哈猫风格.zip 移动端日期选择插件mdatetimer.zip Agile Lite的源码库 jQuery黑色二级下拉导航菜单代码.zip 绿色美容美发网页模板.zip 微信小程序源码-猫眼 大气宽屏美食汉堡单页模板.zip html5响应式模版Brandi.zip 摩托车俱乐部HTML5模板.zip 航海运输公司网站模板.zip jquery图片居中放大代码.zip 基于Hadoop的分布式系统依赖的所有JAR包 jquery鼠标悬停横向时间轴代码.zip jQuery顺序淡入显示元素特效.zip jquery带文字焦点图切换.zip 【ASP.NET源码】捷派网站管理系统(.Net) v1.13 build 0801_justcms.zip SSH开发国家电力监测中心设备后台资源管理系统源码下载 摄影工作室网站模板下载.zip 酒店旅馆CSS网页模板.zip jQ带日期区间的日期选择插件.zip 成人教育培训机构网页模板.zip 微信小程序源码-门锁企业展示小程序 jQuery+HTML5百分比进度条特效.zip android 漂亮的UI界面 完整的界面设计 网上购物商城后台模板 毕业设计-Struts2+Hibernate4.2+Spring3的学籍管理系统 jQuery跳动遮罩背景.zip 基于JSP+SSH框架的BBS论坛 CheckBox复选框美化版.zip jquery大号箭头焦点图.zip 【PHP源码】KubeBlog 1.1.2 汉化版_kubeblog.zip jQuery扁平风格手风琴式菜单.zip jQuery响应式焦点图.zip Java 图书管理系统源码下载 世界名车汽车网站模板.zip 【PHP源码】phpBB v3.0 Beta 4 UTF-8 中文版_phpbb-cn3.zip 【PHP源码】Magike Blog v1.2.0 正式版_install.8.3.3-1.2.0release.zip 美女美容FLASH模板下载.zip jquery+css3图像标注悬浮说明.zip 百度校园jQuery焦点图.zip html5拳皇97麻宫雅典娜捡金币游戏demo源码.zip jQuery跳动遮罩背景.zip SSH+Oracle 企业费用管理系统 微信小程序源码-gank 微信小程序源码-团购站 JS+CSS3制作3D翻转式幻灯片代码.zip 富有动感的 Sheet(选择器) 【PHP源码】Web file host 网络文件存储系统(bt种子存储系统) 中文版_wfh-cn.zip ssm后台管理系统框架(Spring mvc + mybatis + mysql + easyui ) CSS3华丽的Tab菜单.zip Discuz! x2.5神马浮云模板.zip 微信小程序源码-美食 jQuery鼠标响应式灯光效果.zip 手机APP开发者项目网站模板.zip jQuery手机端转盘抽奖插件.zip 【ASP.NET源码】三层架构的上网MAC绑定管理系统(NETManage)_netmanage.zip jq大图淡入淡出效果.zip jQuery计数器动画特效插件.zip jQuery+CSS3实现404背景动画特效.zip 简约的网页模板.zip 蓝色商务大气网站模板.zip 皮皮时光机全屏滚动jquery特效.zip 【PHP源码】iFoto汉化晶晶个人相册专用版 v1.0_gallery.zip jquery机选彩票随机滚动.zip Spring3,Hibernate4,Spring mvc3通用后台管理系统 jQuery带动画效果投票特效.zip iphone联系人滑动列表.zip 打造高质量Android应用 Android开发必知的50个诀窍-完整版 ssm后台管理系统框架(Spring mvc + mybatis + mysql + easyui ) 马培训销售网页模板.zip 带小图标jQuery图片切换特效.zip SVN安装包(含服务端、客户端,分32位和64位) 纸张撕开404错误模板.zip 【PHP源码】MvMmall 网店系统 v5.5.1 Bulid 090505_mvmmall5.zip zepto手机端固定层图标导航菜单.zip 微信小程序 - 分答小程序.zip CSS3用户登录框样式代码.zip jQuery旋转展开分享按钮.zip 【PHP源码】网络同居交友程序(爱情公寓) Build 0425_tongju_core.zip HTML5响应式后台登录界面模板打包 jQuery图片动态逐渐放大切换.zip 韩国商品模板.zip CSS3鼠标悬停图片上浮显示描述代码.zip 汇图网大屏jQuery焦点图代码.zip 手风琴菜单导航jquery特效.zip java Web开发医药后台管理系统mysql版本源代码下载,支持中英文 jQuery数字按钮切换焦点图.zip 中帆智能建站系统基础版JSP版 微信小程序源码-Shuttles;PHP后端 【PHP源码】PHP文章管理程序 0.72全功能版_phpbook0.72.zip jQuery浮动弹性菜单效果.zip 麦包包首页全屏可伸缩广告.zip 基于ThreeJs的3D图片相册插件.zip jquery点击聚焦固定背景导航.zip 【ASP.NET源码】90000篇歌谱小偷程序 v1.0_zhaogepu.zip 带动画效果CSS3手风琴菜单.zip 简单js日期三级联动下拉代码.zip 免费购物网站模板下载.zip 世界奇观建筑CSS3模板.zip 紫色商务办公网页模板.zip 帝国cms产品展示模板.zip jquery四格百叶窗焦点图.zip 【PHP源码】美女视频联盟 v1.0 PHP_mmsp_php.zip spring batch+quartz模拟定时将数据库表中的数据过滤备份(入门篇) 微信小程序源码-五险一金计算 jquery动态背景效果.zip 图片分享CSS网站模板.zip
举报X