您的位置:

首页 >

5060官方网址大全 >

5060官方网址大全:Json返回时间的格式中出现乱码问题的两种解决方案 >

5060官方网址大全:Json返回时间的格式中出现乱码问题的两种解决方案

2016-12-03 09:38:32

分类:5060官方网址大全

前言:这段时间一直没有写博客,首先是我正在实现权限系列的绝色和操作的实现,因为这些东西在前面我们都已经说过了,所以我们就不重复的说这些了,那么我们知道,在我们使用Json返回数据的时候时间的格式一般都会变了,变成我们不认识的一些字符,那么当我们遇到这些问题的时候我们该怎么解决呢,今天我就来小说一下这个的解决方法。 .发现问题 (1).正如我们在前言里面所说,我们在编写Json解析时间的时候会返回一些莫名其妙的东西,那么我们是如何解决这个问题的呢?我现在有两种方法可以解决这个问题,下面我们首先来说一下思路。 (2).第一种解决方案就是我们使用Jquery来解决,我们知道,当值从Json传递到前台进行赋值的时候我们可以对其进行操作,使之可以直接反编译出时间显示在项目上面。 (3).第二种解决方案就是我直接使用C#代码在后台就编译好然后直接传递到前台显示。 (4).那么下面我们看一下如果我们没有解析Json的话传递过来的时间的格式如图所示:  .前台使用Jquery解决 (1)如果我们前台使用Jquery来解决这个问题的话,那么我们首先想到的是我们如何解析这个过程呢,当然我们就想到了自己写一个JavaScript脚本来解析这个过程,当然这个脚本不是我写的了,而是别人写的,自己拿过来用,脚本代码如下: 复制代码 代码如下: //by 韩迎龙 /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、12小时(h)、24小时(H)、分(m)、秒(s)、周(E)、季度(q) 可以用 1-2 个占位符 * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) * eg: * (new Date()).pattern("yyyy-MM-dd hh:mm:ss.S") ==> 2006-07-02 08:09:04.423 * (new Date()).pattern("yyyy-MM-dd E HH:mm:ss") ==> 2009-03-10 二 20:09:04 * (new Date()).pattern("yyyy-MM-dd EE hh:mm:ss") ==> 2009-03-10 周二 08:09:04 * (new Date()).pattern("yyyy-MM-dd EEE hh:mm:ss") ==> 2009-03-10 星期二 08:09:04 * (new Date()).pattern("yyyy-M-d h:m:s.S") ==> 2006-7-2 8:9:4.18 使用:(eval(value.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"))).pattern("yyyy-M-d h:m:s.S"); */ Date.prototype.pattern = function (fmt) { var o = { "M+": this.getMonth() + 1, //月份 "d+": this.getDate(), //日 "h+": this.getHours() % 12 == 0 ? 12 : this.getHours() % 12, //小时 "H+": this.getHours(), //小时 "m+": this.getMinutes(), //分 "s+": this.getSeconds(), //秒 "q+": Math.floor((this.getMonth() + 3) / 3), //季度 "S": this.getMilliseconds() //毫秒 }; var week = { "0": "/u65e5", "1": "/u4e00", "2": "/u4e8c", "3": "/u4e09", "4": "/u56db", "5": "/u4e94", "6": "/u516d" }; if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); } if (/(E+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, ((RegExp.$1.length > 1) ? (RegExp.$1.length > 2 ? "/u661f/u671f" : "/u5468") : "") + week[this.getDay() + ""]); } for (var k in o) { if (new RegExp("(" + k + ")").test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); } } return fmt; } (2)当我们写完上面的脚本之后,这时候我们就需要在页面中使用这个脚本的信息,那么我们如何使用这个信息,当然我们首先需要引用这个对象: @*日期格式的引用*@ <script src="@Url.Content("~/Content/datapattern.js")"></script> (3)这时候当我们引用完毕后,我们也就差最后一步了,这时候我们就需要设置easyUI显示数据的格式哪里调用上面我们书写的Json解析的脚本,代码如下: 复制代码 代码如下: frozenColumns: [[ { field: 'ck', checkbox: true }, //选择 { title: '主键', field: 'ID', width: 40, sortable: true }, //主键 { title: '角色名称', field: 'Realname', width: 100, sortable: true }, //登录名 { title: '角色类型', field: 'CategoryCode', width: 100, sortable: true }, //用户名 { title: '排序码', field: 'SortCode', width: 100, sortable: true }, { title: '创建人', field: 'CreateBy', width: 90, sortable: true }, { title: '创建时间', field: 'CreateOn', width: 140, sortable: true, formatter: function (value, row, index) { return (eval(value.replace(/\/Date\((\d+)\)\//gi, "new Date($1)"))).pattern("yyyy-M-d h:m:s"); } }, { title: '最后修改人', field: 'ModifiedBy', width: 90, sortable: true }, { title: '修改时间', field: 'ModifiedOn', width: 140, sortable: true } ]], (4)最后我们可以看一下转换后的想过如图所示:  .后台使用基类来解决 (1)上面我们说了第一种方法,那么我们现在来说第二种方法,第二种方法的话我们从标题就看出来了,我们是使用后台的基类来实现这个效果的,那么我们知道我们在以前的博客中我们建立了一个BaseController基仓储,我们在这里就需要用到基仓储了。 (2)在基仓储里面我们写了如下的方法,在这个方法中我们用到了一些处理时间的对象,大家可以自己研究一下: 复制代码 代码如下: /// <summary> /// 返回处理过的时间的Json字符串 /// </summary> /// <param name="Date"></param> /// <returns></returns> public ContentResult JsonDate(object Date) { var timeConverter = new IsoDateTimeConverter { DateTimeFormat = "yyyy-MM-dd HH:mm:ss" }; return Content(JsonConvert.SerializeObject(Date, Formatting.Indented, timeConverter)); } (3)接下来我们就需要在我们的实现功能的控制器中调用这个方法来返回对象,角色控制器的代码如下: 复制代码 代码如下: /// <summary> /// 获得角色的信息显示在角色列表中 /// </summary> /// <returns>返回角色信息的Json对象</returns> public ActionResult GetAllRoleInfos() { //实现对用户和多条件的分页的查询,rows表示一共多少条,page表示当前第几页 int pageIndex = Request["page"] == null ? 1 : int.Parse(Request["page"]); int pageSize = Request["rows"] == null ? 10 : int.Parse(Request["rows"]); string RealName = Request["RealName"]; int? Enabled = Request["Enabled"] == null ? -1 : int.Parse(Request["Enabled"]); int? CategoryCode = Request["CategoryCode"] == null ? -1 : int.Parse(Request["CategoryCode"]); int total = 0; //封装一个业务逻辑层的方法来处理多条件查询的信息 RoleInfoQuery roleinfo = new RoleInfoQuery() { PageIndex = pageIndex, PageSize = pageSize, RealName = RealName, Enabled = Enabled, CategoryCode = CategoryCode, Total = 0 }; var date = _roleInfo.loadSearchDate(roleinfo); //构造Json对象返回 var result = new { total = roleinfo.Total, rows = date }; return JsonDate(result); } (4)最后我们的前台恢复到原始的状态,不用变,实现的功能如图所示:

AJAX的全称是Asynchronous JavaScript and XML(异步的 JavaScript 和 XML)。  ajax的优点:  1、最大的一点是页面无刷新,用户的体验非常好。  2、使用异步方式与服务器通信,具有更加迅速的响应能力。  3、可以把以前一些服务器负担的工作转嫁到客户端,利用客户端闲置的能力来处理,减轻服务器和带宽的负担,节约空间和宽带租用成本。并且减轻服务器的负担,ajax的原则是“按需取数据”,可以最大程度的减少冗余请求,和响应对服务器造成的负担。  4、基于标准化的并被广泛支持的技术,不需要下载插件或者小程序。  5、ajax可使因特网应用程序更小、更快,更友好。 这里我用ajax写一个简单的登录页面:首先用到的是数据库login的表:下面是登录页面的代码,首先要引入jquery包<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="jquery-3.1.1.min.js"></script> /*引入jquery包*/</head><body><h2>登录页面</h2><div>用户名:<input type="text" id="uid"/></div><div>密码:<input type="text" id="pwd"/></div><div><input type="button" id="btn"value="登录"/></div>11</body>12</html>登录页面很简单,就不上图了,之前的博客也写过很多次了然后下面就是ajax的写法了。<script type="text/javascript">$("#btn").click(function(){ //第一步:取数据,这里用到了用户名和密码 var uid=$("#uid").val(); var pwd=$("#pwd").val(); //第二步:验证数据,这里需要从数据库调数据,我们就用到了ajax $.ajax({ url:"dlchuli.php",//请求地址 data:{uid:uid,pwd:pwd},//提交的数据 type:"POST",//提交的方式 dataType:"TEXT", //返回类型 TEXT字符串 JSON XML success:function(data){ //开始之前要去空格,用trim() if(data.trim()=="OK") { window.location.href = "main.php"; } else{ alert("用户名或者密码错误"); } } })})</script>dlchuli.php的代码写法如下:<?phpinclude("DADB.class.php");$db=new DADB();$uid=$_POST["uid"];$pwd=$_POST["pwd"];$sql="select password from login where username='{$uid}'";$arr=$db->Query($sql);if($arr[0][0]=$pwd && !empty($pwd)){ echo"OK";}else{ echo"NO";}?>写到这里,用ajax写的简单的登录页面就完成了,最大的好处就是如果出错会在原来的页面报错,不会蹦到其他的页面。以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

本文实例讲述了asp.net使用DataTable构造Json字符串的方法。分享给大家供大家参考,具体如下:/// <summary>/// 将datatable转换为json/// </summary>/// <param name="dtb"></param>/// <returns></returns>private string Dtb2Json(DataTable dtb) { JavaScriptSerializer jss = new JavaScriptSerializer(); System.Collections.ArrayList dic = new System.Collections.ArrayList(); foreach (DataRow dr in dtb.Rows) { System.Collections.Generic.Dictionary<string, object> drow = new System.Collections.Generic.Dictionary<string, object>(); foreach (DataColumn dc in dtb.Columns) { drow.Add(dc.ColumnName, dr[dc.ColumnName]); } dic.Add(drow); } //序列化 return jss.Serialize(dic);} /// <summary>/// 构建JSON字符串/// </summary>/// <param name="dt"></param>/// <returns></returns>public static string CreateJsonParameters(DataTable dt){ System.Text.StringBuilder sb = new System.Text.StringBuilder(); if (dt != null && dt.Rows.Count > 0) { sb.Append("["); for (int i = 0; i < dt.Rows.Count; i++) { sb.Append("{"); for (int j = 0; j < dt.Columns.Count; j++) { //如果值不是最后一个则添加逗号分隔 if (j < dt.Columns.Count - 1) { sb.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + "/"" + dt.Rows[i][j].ToString() + "/","); } //如果值为最后个字符则不添加逗号 else if (j == dt.Columns.Count - 1) { sb.Append("/"" + dt.Columns[j].ColumnName.ToString() + "/":" + "/"" + dt.Rows[i][j].ToString() + "/""); } } //如果为最后一个值的话 则不添加逗号 if (i == dt.Rows.Count - 1) { sb.Append("}"); } else { sb.Append("},"); } } sb.Append("]"); return sb.ToString(); } else { return null; }}希望本文所述对大家asp.net程序设计有所帮助。

VS2010版快捷键Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL + SHIFT + O打开项目 CTRL + SHIFT + C显示类视图窗口 F4 显示属性窗口 SHIFT + F4显示项目属性窗口 CTRL + SHIFT + E显示资源视图 F12 转到定义 CTRL + F12转到声明 CTRL + ALT + J对象浏览 CTRL + ALT + F1帮助目录 CTRL + F1 动态帮助 F1 帮助 SHIFT + F1当前窗口帮助 CTRL + ALT + F3帮助-搜索 SHIFT + ALT + ENTER全屏显示 CTRL + -向后定位 CTRL + SHIFT + -向前定位 CTRL + F4关闭文档窗口 CTRL + PAGE DOWN光标定位到窗口上方 CTRL + PAGE UP光标定位到窗口下方 CTRL + F6 CTRL + TAB下一个文档窗口 CTRL + SHIFT + F6 CTRL + SHIFT + TAB上一个文档窗口 ALT + F6下一个面板窗口 CTRL + K, CTRL + L取消remark CTRL + K, CTRL + C注释选择的代码 CTRL + K, CTRL + U取消对选择代码的注释 CTRL + M, CTRL + O折叠代码定义 CTRL + M, CTRL + L展开代码定义 CTRL + DELETE删除至词尾 CTRL + BACKSPACE删除至词头 SHIFT + TAB取消制表符 CTRL + U转小写 CTRL + SHIFT + U转大写 CTRL + SHIFT + END选择至文档末尾 CTRL + SHIFT + HOME选择至文档末尾开始 SHIFT + END选择至行尾 SHIFT + HOME选择至行开始处 SHIFT + ALT + END垂直选择到最后尾 SHIFT + ALT + HOME垂直选择到最前面 CTRL + SHIFT + PAGE UP选择至本页前面 CTRL + SHIFT + PAGE DOWN选择至本页后面 CTRL + END文档定位到最后 CTRL + HOME文档定位到最前 CTRL + A全选 CTRL + W选择当前单词 CTRL + G转到… CTRL + K, CTRL + P上一个标签 CTRL + K, CTRL + N下一个标签 ALT + F10调试-ApplyCodeChanges CTRL + ALT+ Break停止调试 CTRL + SHIFT + F9 取消所有断点 CTRL + F9允许中断 CTRL + SHIFT + F5调试-重新开始 F5运行调试 CTRL + F5运行不调试 F10跨过程序执行 F11单步逐句执行 CTRL + J列出成员 CTRL + PAGE DOWN下一个视图 CTRL + B格式-粗体 CTRL + SHIFT + T格式-文字缩进 调试快捷键 F6: 生成解决方案 Ctrl+F6: 生成当前项目 F7: 查看代码 Shift+F7: 查看窗体设计器 F5: 启动调试 Ctrl+F5: 开始执行(不调试) Shift+F5: 停止调试 Ctrl+Shift+F5: 重启调试 F9: 切换断点 Ctrl+F9: 启用/停止断点 Ctrl+Shift+F9: 删除全部断点 F10: 逐过程 Ctrl+F10: 运行到光标处 F11: 逐语句 编辑快捷键 Shift+Alt+Enter: 切换全屏编辑 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个 Ctrl+H: 替换 Ctrl+Shift+H: 在文件中替换 Alt+F12: 查找符号(列出所有查找结果) Ctrl+Shift+V: 剪贴板循环 Ctrl+左右箭头键: 一次可以移动一个单词 Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。 Ctrl+Shift+L: 删除当前行 Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态 Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态 Ctrl+M,P: 停止大纲显示 Ctrl+E,S: 查看空白 Ctrl+E,W: 自动换行 Ctrl+G: 转到指定行 Shift+Alt+箭头键: 选择矩形文本 Alt+鼠标左按钮: 选择矩形文本 Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写 代码快捷键 Ctrl+J / Ctrl+K,L: 列出成员 Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息 Ctrl+K,I: 快速信息 Ctrl+E,C / Ctrl+K,C: 注释选定内容 Ctrl+E,U / Ctrl+K,U: 取消选定注释内容 Ctrl+K,M: 生成方法存根 Ctrl+K,X: 插入代码段 Ctrl+K,S: 插入外侧代码 F12: 转到所调用过程或变量的定义 窗口快捷键 Ctrl+W,W: 浏览器窗口 Ctrl+W,S: 解决方案管理器 Ctrl+W,C: 类视图 Ctrl+W,E: 错误列表 Ctrl+W,O: 输出视图 Ctrl+W,P: 属性窗口 Ctrl+W,T: 任务列表 Ctrl+W,X: 工具箱 Ctrl+W,B: 书签窗口 Ctrl+W,U: 文档大纲 Ctrl+D,B: 断点窗口 Ctrl+D,I: 即时窗口 Ctrl+Tab: 活动窗体切换 Ctrl+Shift+N: 新建项目 Ctrl+Shift+O: 打开项目 Ctrl+Shift+S: 全部保存 Shift+Alt+C: 新建类 Ctrl+Shift+A: 新建项 VS2005的隐藏快捷键 这里我将会把一些无意中发现的VS2005中没有明确指出的快捷键共享出来,并不是所有的快捷键,或者常见的一些快捷键。 1、Ctrl+Space直接完成类或函数(本来这个并不算隐藏的快捷键,但是因为中文输入法抢占这个快捷键,所以。。。,替代的快捷键是Alt+Right) 2、Shift+Delete整行删除,并且将这一行放到剪贴板(这时候不能选中一段内容) 3、Shift+Insert粘贴,有点匪夷所思,Ctrl+V就可以了,大概是为了和Shift+Delete对应吧 4、Ctrl+Up,Ctrl+Down滚动编辑器,但尽量不移动光标,光标保证在可见范围内 5、Ctrl+BackSpace,Ctrl+Delete整词删除,有的时候很有用 6、Ctrl+Left,Ctrl+Right按整词移动光标(不算隐藏,和前面几条加起来就是Ctrl光标控制套件了) 7、Alt+Shift+F10打开执行改名,实现接口和抽象类的小窗口(还可以用Ctrl+.,不过有的中文输入法用到这个) 8、Shift+F9调试是打开QuickWatch,内容是当前光标所在处的内容 9、F12转跳到定义,很有用的快捷键 10、Shift+F12查找所有引用 ---------------------------------------VS2008快捷键大全---------------------------- Ctrl+m+Crtr+o折叠所有大纲 Ctrl+M+Crtr+P: 停止大纲显示 Ctrl+K+Crtr+C: 注释选定内容 Ctrl+K+Crtr+U: 取消选定注释内容 Ctrl+J : 列出成员 智能感知 Shift+Alt+Enter: 切换全屏编辑 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个 Ctrl+H: 替换 Ctrl+Shift+H: 在文件中替换 Alt+F12: 查找符号(列出所有查找结果) Ctrl+Shift+V: 剪贴板循环 Ctrl+左右箭头键: 一次可以移动一个单词 Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。 Ctrl+Shift+L: 删除当前行 Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态 Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态 Ctrl+E,S: 查看空白 Ctrl+E,W: 自动换行 Ctrl+G: 转到指定行 Shift+Alt+箭头键: 选择矩形文本 Alt+鼠标左按钮: 选择矩形文本 Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写 代码快捷键 Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息 Ctrl+K,I: 快速信息 Ctrl+E,U / Ctrl+K,U: 取消选定注释内容 Ctrl+K,M: 生成方法存根 Ctrl+K,X: 插入代码段 Ctrl+K,S: 插入外侧代码 F12: 转到所调用过程或变量的定义 窗口快捷键 Ctrl+W,W: 浏览器窗口 Ctrl+W,S: 解决方案管理器 Ctrl+W,C: 类视图 Ctrl+W,E: 错误列表 Ctrl+W,O: 输出视图 trl+W,P: 属性窗口 Ctrl+W,T: 任务列表 Ctrl+W,X: 工具箱 Ctrl+W,B: 书签窗口 Ctrl+W,U: 文档大纲 Ctrl+D,B: 断点窗口 Ctrl+D,I: 即时窗口 Ctrl+Tab: 活动窗体切换 Ctrl+Shift+N: 新建项目 Ctrl+Shift+O: 打开项目 Ctrl+Shift+S: 全部保存 Shift+Alt+C: 新建类 Ctrl+Shift+A: 新建项 Shift+Alt+Enter: 切换全屏编辑 Ctrl+B,T / Ctrl+K,K: 切换书签开关 Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签 Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个 Ctrl+H: 替换 Ctrl+Shift+H: 在文件中替换 Alt+F12: 查找符号(列出所有查找结果) Ctrl+Shift+V: 剪贴板循环 Ctrl+左右箭头键: 一次可以移动一个单词 Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。 Ctrl+Shift+L: 删除当前行 Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态 Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态 Ctrl+M,P: 停止大纲显示 Ctrl+E,S: 查看空白 Ctrl+E,W: 自动换行 Ctrl+G: 转到指定行 Shift+Alt+箭头键: 选择矩形文本 Alt+鼠标左按钮: 选择矩形文本 Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写 这里把我积累的所有Visual Studio 2005快捷键同大家分享,希望对大家能有所帮助。经过我的多次试验,VS 2005中的快捷键在VS 2008、2010中也是可以被识别的,只是VS 2008、2010定义了自己新的快捷键方式。这是必要的:对已有的快捷键进行改进,并保证已习惯使用VS 2005快捷键的人不会失去工作效率。代码编写Shift + Alt + Ente - 全屏显示Shift + Alt + F10 - 有三种作用:1. 在实现接口时,按下,可打开用于实现接口的选项;2. 在修改一个变量、方法、类等等时,打开重命名选项;3. 在写完一个未using的对象时,打开using选项。Ctrl + R + E - 封装字段(VS 2008已经基本不需要该快捷键了,因为C# 3.0的自动属性 – Auto-Implemented Properties)Ctrl + J - 列出成员,仅包括代码提示Ctrl + Shift + Space - 显示参数信息Tab(按两下) - 补齐代码块,例如在try、for、do后按Ctrl + K + S - 外侧代码,仅包括代码块模版F6 / Ctrl + Shift + B - 生成解决方案F7 - 跳转到窗体后置代码,WinForm中、WebForm中都可以,在WinForm中同样可以跳回设计视图Shift + F7 - 在WebForm的后置代码中,跳回设计视图F8 - 顺序切换当前文件中的错误位置F12 - 转到定义Ctrl + _ - 转到定义后返回Ctrl + Shift + _ - 再次转到定义Ctrl + Tab - 切换当前打开的活动窗口(代码和视图设计界面之类的)快速代码模板"cw" + Tab + Tab - Console.WriteLine();"mbox" + Tab + Tab - Messagebox.Show();"prop” + Tab + Tab - 含有Get、Set访问器的属性块"propg” + Tab + Tab - 只读属性快"propfull” + Tabl + Tab - 具有完整get、set访问器的属性快代码操作Ctrl + K + C - 注释Ctrl + K + U - 取消注释Ctrl + ] - 寻找匹配的括号Ctrl + Shift + ] - 选择匹配的括号与其中的代码Ctrl + F - 快速查找Ctrl + H - 快速替换Ctrl + Shift + U - 转换为大写Ctrl + U - 转换为小写Ctrl + K + D - 设置文档格式Tab - 增加缩进Shift + Tab - 减少缩进Ctrl + M + M - 折叠代码,例如将光标放在#region、if、方法头的位置,将会折叠它们Ctrl + . - 调出using菜单Ctrl + E + S - 查看空白(将空格转换为绿色的点,在查找多余的空格时尤为方便)调试运行F5 - 启动调试Shift + F5 - 停止调试F9 - 设置断点Ctrl + Shift + F9 - 删除所有断点F10 - 逐过程调试F11 - 逐语句调试项目的操作Alt + Enter - 打开选定项的属性对话框Ctrl + Shift + N - 新建项目Shift + Alt + N - 新建网站Ctrl + N - 新建文件Ctrl + Shift + O - 打开项目Shift + Alt + O - 打开网站Ctrl + O -  打开文件Ctrl + Shift + A - 在项目中添加新项Shift + Alt + A - 在项目中添加已有项目Shift + Alt + C - 在项目中添加类视图调用F4 - 属性Ctrl + Alt + X - 工具箱Ctrl + Alt + L - 解决方案资源管理器Ctrl + Alt + S - 服务器资源管理器技巧1. 启动VS,可在运行中输入“devenv”;2. 双击控件工具,自动添加控件;3. Alt + 方向键 - 可用方向键细微调整控件的大小;4. 方向键 - 调整控件的位置;5. 按住Alt,可以矩形的方式选取代码;6. 移除不需要的命名空间(Visual Studio 2008及Visual Studio 2010适用)通常创建一个类,Visual Studio会自动为你引入System、System.Collections.Generic、System.Text,这3个命名空间,但创建完后不一定需要他们全部。而当创建WinForm、WebForm时会引入更多不需要的命名空间,把它们留着太占位置,Visual Studio早就为我们准备了这个功能,在类中右击鼠标,选择:“组织using” > “移除和排序”,即可移除不需要的命名空间,并按英文字母正序排列各命名空间。7. 自动using命名空间(快捷键Ctrl + .):通常代码写的很长的时候,在后面需要使用一个未using的对象,需要回到代码的头部去using,然后再回去继续写:这是件多么痛苦的事!这件痛苦的事VS可以完全代办,首先确保对象的名字一定要写对:这时可以看到没using System.IO的情况下,Directory是被划上红线的,可以注意到开头出有个小矩形,鼠标移上去,按下后可以看到选项: 选择using System.IO,会在顶部using该命名空间,而选择System.IO.Directory会在Directory前加上System.IO,补全引用。还有第二种方法:在未引用的对象上右击,选择Resolve(解析),可以看到同样的选项:8. 自动完成属性还在手写这样的代码段吗?复制代码 代码如下:public string Property { get; set; }仅输入prop后,按下两次Tab,可自动生成:复制代码 代码如下:public int MyProperty { get; set; }我们要做的只是Tab、修改。VS2008快捷键大全 Ctrl+m+Crtr+o折叠所有大纲Ctrl+M+Crtr+P: 停止大纲显示Ctrl+K+Crtr+C: 注释选定内容Ctrl+K+Crtr+U: 取消选定注释内容Ctrl+J : 列出成员 智能感知Shift+Alt+Enter: 切换全屏编辑Ctrl+B,T / Ctrl+K,K: 切换书签开关Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签 Ctrl+B,C: 清除全部标签Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索 Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个 Ctrl+H: 替换 Ctrl+Shift+H: 在文件中替换 Alt+F12: 查找符号(列出所有查找结果)Ctrl+Shift+V: 剪贴板循环Ctrl+左右箭头键: 一次可以移动一个单词 Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。Ctrl+Shift+L: 删除当前行Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态 Ctrl+E,S: 查看空白 Ctrl+E,W: 自动换行 Ctrl+G: 转到指定行Shift+Alt+箭头键: 选择矩形文本 Alt+鼠标左按钮: 选择矩形文本Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写代码快捷键Ctrl+Shift+空格键 / Ctrl+K,P: 参数信息Ctrl+K,I: 快速信息Ctrl+E,U / Ctrl+K,U: 取消选定注释内容Ctrl+K,M: 生成方法存根Ctrl+K,X: 插入代码段 Ctrl+K,S: 插入外侧代码F12: 转到所调用过程或变量的定义窗口快捷键Ctrl+W,W: 浏览器窗口Ctrl+W,S: 解决方案管理器Ctrl+W,C: 类视图Ctrl+W,E: 错误列表Ctrl+W,O: 输出视图trl+W,P: 属性窗口Ctrl+W,T: 任务列表 Ctrl+W,X: 工具箱Ctrl+W,B: 书签窗口Ctrl+W,U: 文档大纲Ctrl+D,B: 断点窗口Ctrl+D,I: 即时窗口Ctrl+Tab: 活动窗体切换Ctrl+Shift+N: 新建项目Ctrl+Shift+O: 打开项目Ctrl+Shift+S: 全部保存Shift+Alt+C: 新建类Ctrl+Shift+A: 新建项Shift+Alt+Enter: 切换全屏编辑Ctrl+B,T / Ctrl+K,K: 切换书签开关Ctrl+B,N / Ctrl+K,N: 移动到下一书签 Ctrl+B,P: 移动到上一书签Ctrl+B,C: 清除全部标签Ctrl+I: 渐进式搜索 Ctrl+Shift+I: 反向渐进式搜索Ctrl+F: 查找 Ctrl+Shift+F: 在文件中查找 F3: 查找下一个 Shift+F3: 查找上一个Ctrl+H: 替换Ctrl+Shift+H: 在文件中替换Alt+F12: 查找符号(列出所有查找结果)Ctrl+Shift+V: 剪贴板循环Ctrl+左右箭头键: 一次可以移动一个单词Ctrl+上下箭头键: 滚动代码屏幕,但不移动光标位置。Ctrl+Shift+L: 删除当前行Ctrl+M,M: 隐藏或展开当前嵌套的折叠状态Ctrl+M,L: 将所有过程设置为相同的隐藏或展开状态 Ctrl+M,P: 停止大纲显示Ctrl+E,S: 查看空白Ctrl+E,W: 自动换行Ctrl+G: 转到指定行 Shift+Alt+箭头键: 选择矩形文本Alt+鼠标左按钮: 选择矩形文本Ctrl+Shift+U: 全部变为大写 Ctrl+U: 全部变为小写首先有两个地方需要注意:1:工具->自定义->"在屏幕提示中显示快捷键" 需要勾选上,方便记忆快捷键。默认设置就是这样的。2:工具->导入导出设置。这里是整个VSStudio的环境的默认设置,我下面设计的都是在"C#环境"下的快捷键,如果你发现你所使用的快捷键和我所列举的出入很大,请更改正确的环境。基本情况了解了,故事是这样开始的:某一周日的早晨起床,突然发现鼠标不见了。可能是隔壁家的猫给抓去了。一时情急,没办法,也只能用键盘来启动VSStudio啦。开始->程序 在一个个查找,要是程序太多,嘿嘿,眼睛都找花啦。还在用这么落后的方式启动IDE吗,用快捷键啊。还是默认的,不用设置。如果要设置也就不英雄嘛。如何以最快的方式启动IDE呢?开始->运行->输入“devenv”。就可以直接调用VSStudio了。不错吧,再给你列几个常用的。命令行快速启动"Inetmgr" IIS管理器,不用到管理里去找了,很快就可以显示IIS管理了"sqlwb"    快速启动SQL2005企业管理器"isqlw" 这是SQL2000的我也提供一下吧,这个可以起到SQL2000的查询分析器。"devenv" 启动相应版本的VS StudioCtrl提示透明窗口这是一个比较有意思的键。VS2005下,当你在调试代码的时候,有时候提示信息会遮挡代码,这个时候你按CTRL可以将提示透明。VS2008这个透明效果,在更多的地方可见了,你不妨自己亲自动手看看。F12、Ctrl+减号、CTRL + SHIFT + 减号 这三个键在查看代码的时候,特别有用。通过F12你可以快速的找到一个函数的定义,通过Ctrl+减号你可以快速的返回到函数的调用处。Ctrl+Tab、Ctrl+F6、Ctrl+Alt + 向下箭头 活动文件的3种切换方式,比你用鼠标点击方便一些噢。Ctrl+K,M 生成方法存根 这个快捷键在你写结构性代码的时候可是非常有用的噢。你可以先写好一批代码的定义,而不用关心具体的实现。同时又可以让编译器编译通过。写累了。为了截取这些视频也倒腾了半天,提供一个整理好的打印版VS2008快捷键方便大家下载。我就不一一介绍这些快捷键。

复制代码 代码如下:public class Script    {       public static void Alert(string message)        {            ResponseScript("    alert('" + message + "');");        }        public static void ResponseScript(string script)        {            HttpContext.Current.Response.Write("<script type=\"text/javascript\">\n//<![CDATA[\n");            HttpContext.Current.Response.Write( script );            HttpContext.Current.Response.Write("\n//]]>\n</script>\n");        }    }在form.ashx中调用:复制代码 代码如下:Script.AlertAndGoBack("温馨提示:有重复的用户!"); 结果在360的新版6.0中,一直不起作用,只是输出了复制代码 代码如下:<script type="text/javascript">//<![CDATA[    alert('温馨提示:有重复的用户!');    window.history.back();//]]></script>但在IE中显示又完全正常。后来发现,原来360浏览器的极速模式调用的是Google浏览器的Chrome内核,所以Chrome浏览器里这段代码也是不起作用。解决办法:复制代码 代码如下://将:context.Response.ContentType = "text/plain";//改为:

焦点访谈

最新最热的文章

更多 >

COPYRIGHT (©) 2017 Copyright ©2017 5060网址大全 网站地图

联系我们

827570882

扫描二维码分享到微信