首页 > 代码库 > ASP.NET 项目总结
ASP.NET 项目总结
恩,第一次用 ASP.NET MVC 开发正式项目。好累。一直在抠细节, 现在把这一个礼拜学到的东西总结下, 新手要多总结!
一、JS 总结
首先, 加载 JS 文件。在 .cshtml 文件中, 加载 js 有很多方式, 可以直接用标签加载进来。
@section HeaderJS { <link rel="stylesheet" type="text/css" href=http://www.mamicode.com/"../Content/css/indexstyle.css" />>从以上例子可以看出,这个方法可以用来加载 .js, .css 文件到 .cshtml 文件中。 你可以定义自己的 .js 文件, 然后用这种方式加载进来。这样你就可以在这个文件里面使用 .js 文件中的函数了。 如 public.js 文件如下:
//格式化Json数据中的时间 function formatTime(dateTime) { var date = new Date(parseInt(dateTime.replace("/Date(", "").replace(")/", ""), 10)); var month = date.getMonth() + 1 < 10 ? "0" + (date.getMonth() + 1) : date.getMonth() + 1; var currentDate = date.getDate() < 10 ? "0" + date.getDate() : date.getDate(); var hour = date.getHours() < 10 ? "0" + date.getHours() : date.getHours(); var min = date.getMinutes() < 10 ? "0" + date.getMinutes() : date.getMinutes(); return date.getFullYear() + "-" + month + "-" + currentDate + " " + hour + ":" + min; }
这样就可以直接在 HeaderJS 这个 section 中使用 formateTime() 函数。zTree 的使用。
在另外文章中讲解。
ASP.NET MVC 3 导出导入 HTML table 到 csv 文件
在另外文章中讲解。
HTML checkbox 全选和全不选的实现
function changeCheckBoxState() { $("#chkcheckall").click(function () { $('.radio').prop("checked", this.checked); }); }这里有个问题是不能使用 checkbox 的 change 事件。 在 IE 中, 第一次点中 checkbox 并不触发 change 事件, 直接用 click 事件绕开这个问题。
判断浏览器是否是 IE
function isIE() { //ie? if (!!window.ActiveXObject || "ActiveXObject" in window) { return true; } if (navigator.userAgent.split(";")[1].toLowerCase().indexOf("msie") == "-1") { return false; } else { return true; } }这个又败给 IE 了, IE 11 的 userAgent 里面根本没有 "ie" 字符, 这得坑掉多少人。第一个 if 语句是用来判断是否是 IE 11 的。
二、ASP.NET MVC 总结
首先, Controller
在 Controller 中,向 view 返回的方式有很多, 比如:
return Content("ok");
// // 摘要: // 使用字符串创建一个内容结果对象。 // // 参数: // content: // 要写入到响应的内容。 // // 返回结果: // 内容结果实例。 return Content("ok"); // // 摘要: // 创建 System.Web.Mvc.JsonResult 对象,该对象使用指定 JSON 请求行为将指定对象序列化为 JavaScript 对象表示法 // (JSON) 格式。 // // 参数: // data: // 要序列化的 JavaScript 对象图。 // // behavior: // JSON 请求行为。 // // 返回结果: // 将指定对象序列化为 JSON 格式的结果对象。 return Json(data, JsonRequestBehavior.AllowGet); // // 摘要: // 创建一个将视图呈现给响应的 System.Web.Mvc.ViewResult 对象。 // // 返回结果: // 将视图呈现给响应的视图结果。 return View(); // // 摘要: // 创建一个呈现分部视图的 System.Web.Mvc.PartialViewResult 对象。 // // 返回结果: // 分部视图结果对象。 return PartialView();这个需要去看 MSDN 文档, 随时都会用到这些方法, 需要知道他们到底是干嘛的。 在 System.Web.Mvc.Controller 中有介绍。
三、Entity Framework 总结
Entity Framework 是一款很好用的 OA 框架。 非常容易上手, 如果项目小, 不想用数据库, 可以利用 EF 来生成本地的 .mdb 文件, 作为数据存储工具。 遇到的一个问题是,在连接远程数据库是, 服务器资源管理器能够连到数据库, 但是 EF 老是报无法打开连接的错误。 这肯定是 url 连接信息设置错误。
<connectionStrings> <!--<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-Mvcpro1-20141022154431;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-Mvcpro1-20141022154431.mdf" providerName="System.Data.SqlClient" />--> <!--<add name="hour1Entities" connectionString="metadata=res://*/Models.Model1.csdl|res://*/Models.Model1.ssdl|res://*/Models.Model1.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=hour1;user id=sa;password=123456;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient" /> <add name="hourEntities" connectionString="metadata=res://*/Models.Hour.csdl|res://*/Models.Hour.ssdl|res://*/Models.Hour.msl;provider=System.Data.SqlClient;provider connection string="data source=.;initial catalog=hour1;user id=sa;password=123456;multipleactiveresultsets=True;application name=EntityFramework"" providerName="System.Data.EntityClient" />--> <add name="complaintSysDBEntities" connectionString="metadata=res://*/complaintSys.csdl|res://*/complaintSys.ssdl|res://*/complaintSys.msl;provider=System.Data.SqlClient;provider connection string="data source=114.80.154.68,32433;initial catalog=complaintSysDB;user id=sa;password=12344321;MultipleActiveResultSets=True;App=EntityFramework"" providerName="System.Data.EntityClient"/> </connectionStrings>
ASP.NET 项目总结