ASP.NET 项目总结

恩,第一次用 ASP.NET MVC 开发正式项目。好累。一直在抠细节, 现在把这一个礼拜学到的东西总结下, 新手要多总结!

一、JS 总结

首先, 加载 JS 文件。在 .cshtml 文件中, 加载 js 有很多方式, 可以直接用标签加载进来。

@section HeaderJS
{
    <link rel="stylesheet" type="text/css" href="../Content/css/indexstyle.css" />
    <link rel="stylesheet" href="../Content/js/ZTree/css/zTreeStyle/zTreeStyle.css">
    <script src="../Content/js/ZTree/js/jquery.ztree.all-3.5.js"></script>
    <script src="../Scripts/tableExport.js"></script>
    <script src="../Scripts/jquery.base64.js"></script>
    <script src="../../Content/js/public.js"></script>
    <script type="text/javascript">
}

从以上例子可以看出,这个方法可以用来加载 .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>



时间: 2024-08-24 02:23:54

ASP.NET 项目总结的相关文章

远程调试 Asp.Net 项目

项目部署到产品环境后,难免会发生一些故障,有一些可以在本地测试环境中直接重现,而有一些则无法重现.对于可以在本地测试环境中重现的Bug,开发人员往往能够很迅速地进行问题排查.而对于无法重现的Bug,就没这么容易了. Visual Studio 中提供了远程调试的功能,可以帮助我们进行远程调试. 本机安装 Visual Studio(,这里用 Visual Studio 2012 进行演示) 您的 Asp.Net 项目源代码,同时确保远程服务器上使用的正是由该源码编译产生的(Debug.Relea

asp.net项目引用silverlight插件

其实很简单,silverlight4中,只需要新建一个silverlight项目,找到启动的aspx或html页面,复制引用代码到asp.net项目的aspx即可,同时在项目中引用silverlight项目下的silverlight.js.说实话.其实在这个方面现在来说两者是一样的,目前发现区别在于启动方式?silverlight需要加载一个xaml启动,asp.net则不需要,可以做到加载多个xaml的效果,从跟html兼容这方面来说,效果要比用silverlight项目好. 引用代码: sc

写给自己:asp.net项目类型开发经验有哪些

以下是基于自己本身的项目经验总结的: 网站的结构,布局,特效,功能,编码,测试,维护都应自己动手或参与其中,了解整个项目的流程和业务逻辑.一般一个完整的asp.net项目会涉及到: HTML标签控件,DIV+CSS页面结构布局, 局部模块利用javasript添加特效,ajax和json获取数据并异步刷新 三层架构的文件编写和分类Model  DAL  BLL, 数据库链接和操作以及文件流别入文件导出导入,MVC模式的了解, 对常用类库和框架的了解,了解项目源码的版本控制和项目发布[svn,服务

ASP.NET项目中引用全局dll

在ASP.NET项目中,有些dll是全局dll,也就是说,没有放在单个项目的引用中.它们一般存放在如下目录C:\Windows\assembly中 这个时候,我们需要在单个项目中引用他们,应该如何做呢 在项目的web.config文件中,在system.web路径下加入如下语句 <system.web> <compilation debug="true"> <assemblies> <add assembly="System.Core

IIS7.5配置Asp.net项目出现HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理。

近日在将一个Asp.net项目部署到IIS7.5上时却出现了HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理. 因为IIS里面使用的都是默认配置(只是更改了物理路径而已),在网络上找了一圈也没有找到解决办法.最后忽然想到会不会是应用程序池里的.Net Framework版本问题呢? 因为之前安装过4.0的版本,于是打开应用程序池,看到项目使用的应用程序池里的配置信息使用的.Net Framework版本为无托管代码 在将网站的应用程序

ASP.NET项目中,无法引用App_Code中的类

ASP.NET项目中,无法引用App_Code中的类 最近在做Walmart的项目,其中一个付款系统是ASP.NET编写的.遇到一个问题就是无法引用App_Code中的类. 而且在后台代码中编写代码时,也没有智能提示.生成解决方案时会报错:对应的名称空间或类型不存在或找不到. 解决办法就是选中相应类文件,在属性中设置"生成操作"(Build Action),从内容(Content)修改为编译(Compile).

向asp.net项目中添加控件AspNetPager

1.打开项目,把.dll文件放入项目中: 2.在工具栏中添加一个自定义选项卡 3.右键选项卡,点击"选择项" 4.在打开的对话框中点击:"浏览" 5.找到要添加的控件文件AspNetPager.dll,确定,添加成功啦 向asp.net项目中添加控件AspNetPager

Asp.net项目路径获取方法【转】

获取项目完整的绝对路径string path = System.AppDomain.CurrentDomain.BaseDirectory.ToString();string path = Server.MapPath(".");//此"."可以换成项目文件里的其它文件夹名称 输出asp.net 网站路径private void responseHtml() {        System.Text.StringBuilder sb = new System.Tex

asp.net 项目在 IE 11 下出现 “__doPostBack”未定义 的解决办法

最近项目在 IE 11 下<asp:LinkButton> 点击出现 “__doPostBack”未定义”,经过一番google,终于知道了原因:ASP.NET 可能无法辨识出一些浏览器的最新版本,还会经常把它们看做是低级的浏览器.(也就是: 不支持JavaScript.) 详见: http://blogs.msdn.com/b/scott_hanselman/archive/2011/10/28/asp-net-ie10-dopostback-javascript-ff5.aspx本人按照该

asp.net 项目优化

在我们软件开发过程中,项目的优化是必不可少的部分,那么具体要怎么优化呢?今天小编就来把我的个人经验跟大家分享一下,如果有不对的地方或者说得不好的地方,还希望大家不吝赐教. 项目的优化主要分为三个部分的优化:1.程序的优化 ,程序的优化又包括(1).算法的优化  (2).页面的优化 2.IIS的优化 3.配置文件 4.数据库的优化,数据库的优化又包括(1)数据结构的优化(2)sql语句的优化 我们首先来说程序的优化: 一.程序优化 1.使用值类型的ToString方法 在连接字符串时,经常使用"+