01 2022 档案
摘要:前端的三大框架:Vue.js,React.js,Angular.js Node.js(js里可以写后台代码) MVC和三层架构的区别 Jquery插件 全局方法: $.ajax();$.post();.… 实例方法: $(“#xxx”).val().…… 1定义全局方法 格式:$.方法名=匿名函数
阅读全文
摘要:使用jquery控制div的显示与隐藏,一句话就能搞定,例如: 1. $("#id").show()表示为display:block, 或$("#id").hide()表示为display:none; 2. $("#id").toggle()切换元素的可见状态。如果元素是可见的,切换为隐藏的;如果元
阅读全文
摘要:标签选择器 选择所有的div标签 $("div") 选择所有的标签 $("*") 层次选择器 选中mainbox下面的所有div,包含孙子辈,有多级就都会选中 $(".mainbox div") 选中mainbox下面的所有div,不包含孙子辈,有多级也只选中第一级 $(".mainbox > di
阅读全文
摘要:jquery each循环,要实现break和continue的功能: break 用return false; continue --用return ture; 判断某标签的css样式 // $(".mainbox>div").eq(0).css("background-color", "#ffa
阅读全文
摘要:.gt(下标):获取大于某个下标之后的下标。 .lt(下标):获取大于某个下标之后的下标。 注意:在层次选择器中使用基本过滤选择器中的.gt属性和lt属性时应该把lt放在gt前面。 以table表格控件及子控件tr举例。 先创建一个5行5列的表格。如下图 改变大于1行小于4行的背景 如果将gt属性写
阅读全文
摘要:ready: dom加载完成执行. window.onload与jQuery.ready事件的区别: 1:时间节点不同,jquery。ready先于window.onload执行。 前者是dom加载完成后就执行,后者需要等待网页资源加载完成才会执行。 2:jQuery.ready事件有简写,wind
阅读全文
摘要:js对象转换称jquery对象: $(js对象) 转了就可以使用jquery选择器和jquery的方法 例如: console.log($(item)); jquery对象转换称js对象: jquery[0] 或者$(this).get(0) 例如: console.log($(item)[0]);
阅读全文
摘要:CSS中“!important”可以使其之前的样式优先执行,例如: body { color : red !important; } body { color : black; } 颜色color出现了两次,而加上“!important”的“color : red;”总会得到优先执行,浏览器将对另一
阅读全文
摘要:使用$.ajax异步请求时,若同一个事件里有多个异步请求,他们并不会等待其它的异步请求执行完了再执行,而是同时执行,因为他们不会等待。 证明如下图: 在异步请求的回调方法里输出11,在外面输出22. 执行之后会先输出22,如下图: 然后再输出11,如下图: 因为异步请求不会等待,所以代码还是执行着走
阅读全文
摘要:ajax作用 作用:异步请求 优点:对服务器压力小,不需要刷新页面就可以请求后台,效率更快,可以使用纯静态页面,用户体验好。 缺点:对seo不友好 seo:搜索引擎优化,网站排名。 ajax尽量少用。 ajax属于后台管理型。 html+handler ajax写法 1请求WebForm页面 在fu
阅读全文
摘要:layer弹出框的content使用html内容时 比如: 下面是html内容 <div id="contentDiv"> <div style="width:350px;margin:10px auto;text-align:center;"> <form > <div id="aa1"> 名称:
阅读全文
摘要:基本用法 layer插件直接导入文件即可使用 导入文件路径 格式 layer.open();//打开窗口 ////打开窗口 layer.open({ time:2000,//自动关闭 type: 1,//基本层类型: 1(页面层) title: "更新",//标题 content:$("#conte
阅读全文
摘要:confirm() 用于弹出一个带有确认和取消按钮的提示框 需要一个字符串作为参数,该字符串将会作为提示文字显示出来 如果用户点击确认则会返回true,如果点击取消则返回false prompt() prompt()方法用于显示可提示用户进行输入的对话框。函数返回值为字符串。 当用户输入为数字或布尔
阅读全文
摘要:json对象与C#对象传递 C#对象不能直接传递js js对象不能直接传递给C# 可以使用序列化当做中间层来进行传递对象 序列化:在中间将格式转换进行传递,中间对象可以跨语言,C#能认识,js也能认识,这种数据格式。比如:json,xml 原理如图 将C#对象序列化传给js,js那边反序列化成jso
阅读全文
摘要:json 是 js一种对象的写法,一个简单的对象表示,就是键值对 定义一个json对象 var myobj = { username: "xx", aeg: 10, number: "sdfdsklf"vedio: "sdfdsklf"ss }; alert(myobj.number); 往imgA
阅读全文
摘要:第一种:使用JsonConvert反序列化 引入命名空间 using Newtonsoft.Json;//现在用的,还在维护,比较新 然后可以直接使用这个序列化类,他就像一个帮助类一样,可以直接点,比如 //用户对象类型的集合,用来接收反序列化后的对象类型的集合 List<UserInfo> use
阅读全文
摘要:Dictionary用法 Dictionary提供快速的基于键值的元素查找。 结构是:Dictionary <[key] , [value] >,当你有很多元素的时候可以用它。 它包含在System.Collections.Generic名控件中。在使用前,你必须声明它的键类型和值类型。 using
阅读全文
摘要:一般处理程序使用Session的方法 1 引用这个命名空间 using System.Web.SessionState; 2 实现这两个接口中的任何一个 IReadOnlySessionState //此接口只能使用session,无法修改session IRequiresSessionState
阅读全文
摘要:通过设置配置文件,可以限制指定的页面禁止打开或者禁用某种页面提交的请求方式,只需要在配置文件中添加一个标签,在标签中限制即可,如下图。
阅读全文
摘要:在EF的join查询里,通常查出来一对多关系的数据,也就是一个用户对应多个数据,想单独把这些数据分为一对一关系就要用到selectMany方法,效果就如下图一样,一个用户的多个科目给拆开,使一个用户对应一个科目,当然,这里拆了之后用户可以出现重复的。 一对一的拆的方法如下, List<AllUser
阅读全文
摘要:单表 sql List<UserInfo> userList=fHZMEntities.Database.SqlQuery<UserInfo>("select * from UserInfo").ToList(); Linq List<UserInfo> userList = (from a in
阅读全文
摘要:数据库迁移 我们如果已经使用了使用CodeFirst创建数据库,但是突然又想增加或者删除一个字段的时候,如果直接去数据库里把数据库删了在重新建立数据库也是可以的,只不过非常麻烦,我们使用数据库迁移就不用这么麻烦,数据库迁移就相当于更新数据库。 数据库迁移命令: PluralizingTableNam
阅读全文
摘要:第一种使用fluentApi配置多对多关系 比如:有一个业务,一张学生表,还有一张课程表,要求,将两表建立多对多关系。 我们可以通过分析:一个学生在课程表里可以有多个课程,每个课程有可以被多个学生同时选择。 配置多对多关系思路:多对多关系,应该有一个中间表,用于关联,关联表至少两个字段,就是两张表的
阅读全文
摘要:级联删除 使用CodeFirst创建的外键约束默认都开启了级联删除,如下图就是通过CodeFirst创建的数据库,而且孩子表里还有父亲表的主键作为外键。 但是,我们试着删除它父亲的时,发现能直接删除,如图 就是因为使用codefirst创建的数据表的外键默认都开启了级联删除,也就是删除一个,可以删除
阅读全文
摘要:给学生实体添加一个外键,使用父母表的Id作为外键 首先要搞清楚,给学生表添加外键是什么意思,就是一个学生只能有一个父母,但是父母可能有多个孩子,所以学生与父母之间的关系为一对多。给学生表添加外键就代表学生是一,父母是多。 步骤一: 在学生表里写一个外键字段,和一个导航属字段。导航属性字段的作用目前理
阅读全文
摘要:在CodeFirsrt的实体里配置字段的限制 通过配置,我们可以设置数据库里字段的长度,等等 比如:在模型中表的映射(实体)中没有给字段设置限制,比如长度等等,它在创建数据库的时候会默认设置为最大长度。 调用EF创建数据库后字段的长度如下: 实体里给字段添加限制 可以看到,添加限制缺少引用,因为这个
阅读全文
摘要:创建CodeFirst codefirst是代码优先,就是你自己手动创建模型,模型设计完毕后执行即可为你创建数据库了 第一步,创建一个空的MVC 如下图: 第二步,创建实体 创建一个类库,用来当做实体的库,在里面创建你想要建立的表的映射类。如下图: 在这个实体类里添加表的字段 第三步,创建上下文对象
阅读全文
摘要:方式1sql //后台控制器验证 if (ModelState.IsValid == false)//后台控制器模型验证,false表示未通过 { return Json("-1"); } FHZMEntities fHZMEntities = new FHZMEntities(); //fHZME
阅读全文
摘要:ajax访问控制器 用ajax访问某个控制器来执行功能倒是没有问题,但是,如果相跳转视图或者打开该控制器的视图是不行的,它会直接跳过这行代码。 如下图;如果ajax访问该控制器时,会直接跳过这两行代码,其它方式访问就不会跳过 控制器限制访问方式 直接在控制器上面加验证即可,如下图 有时候用ajax访
阅读全文
摘要:运行时测试时打开即时窗口的快捷键:alert+shift+i 可以快速测ascii码,比如在窗口里打(char)'a'
阅读全文
摘要:什么叫模型验证呢? 大概就是前台和后台都能使用模型来验证用户的信息是否为空或者是输入的长度是否符合标准等。 作用 方便验证,比如要验证在前台的文本框里输入的信息是否为空或者是否符合长度,前台单独验证的话就要在前台的js里获取该文本框,然后获取里面的值,判断是否为空,后台的话也是一样,接收前台传过来的
阅读全文
摘要:HTML帮助类: 作用: ①简化编写Html ②可以后MVC模型验证配合 用法 ①生成文本框 结果: ②文本框内容 ③指定内容 效果 ④指定属性 效果 ⑤指定内容为lamdba表达式 效果,下面圈起来的无视,但是name就是value值: ⑥下拉列表框 设置它自己的属性value: 效果: 这样写的
阅读全文
摘要:用实体操作数据库报错的查找 fHZMEntities.SaveChanges();报错 如下图: 第二步:将报错的行使用try括起来,单纯为了好找错误信息。然后在报错的行打断点,重新运行项目,到这个断点的时候按f11,也可以添加到监控,不过添加到监控的话要在执行这行之前就添加到监控。 第三步,在要运
阅读全文
摘要:使用EF执行更新操作 方法1,写sql语句 //实例化实体 FHZMEntities fHZMEntities = new FHZMEntities(); //参数化列表 List<SqlParameter> sqlParameterList = new List<SqlParameter>() {
阅读全文
摘要:删除操作 方法1,使用sql方式删除 这种方法比较简单,直接使用EF模型的实体执行Database.ExecuteSqlCommand命令即可,而且貌似也不用查询,直接让实体执行操作数据库的命令即可,效率也快一点儿,虽然简单,不过这种写法一点都不洋气,还是得看下面几种先进的方法。 //实例化对象模型
阅读全文
摘要:比如:使用EF的实体对象来查询用户表里的所有用户信息 方法一:写sql语句 //实例化实体 FHZMEntities fHZMEntities = new FHZMEntities(); //用实体来查数据 List<UserInfo> userList=fHZMEntities.Database.
阅读全文
摘要:1可以基于MVC框架创建EF实体模型 在建立好的mvc项目里面右键添加ado.net实体模型 2 这里选择从数据库生成,因为我们目前使用从数据库优先这种类型 3 新建连接 4 选择数据源和登录方式及数据库 5 选择是和上下文对象取名字 6选择数据库对象 7 点确定 8 可以看到实体里的字段和数据库里
阅读全文
摘要:ROM Object relational mapping:实体对象映射 作用:简化数据库查询。 比如:用ado操作数据库经常要写许多繁琐的操作 SqlConnection conn conn.open SqlCommand cmd cmd.ExecuteNonQuery/cmd.ExecuteSc
阅读全文
摘要:前台向后台传值 前台向后台传参数其实就是通过视图访问或刷新本页面时通过地址栏传参数给该页面或其它页面的控制器。 ①表单传值 通过提交表单来实现传值,也可以在指定表单属性action来指定传到哪个控制器中,对应控制器使用Request来接收即可,不指定即默认传给自己的控制器。 在页面中Home的Ind
阅读全文
摘要:Razor语法 可以在cshtml里写C#代码,可以做到html和后台混编。就像aspx,jsp 输出@符合需要在cshtml里输入两个@,如:@@ 向页面输出用@符即可 代码块用@{C#代码块或html元素} 与aspx的区别 1、混编的时候比aspx方便,比如: 在aspx里写for循环,里面再
阅读全文
摘要:什么叫MVC 一种分层思想 M:model(模型) V:view(视图) C:controller(控制器) MVC与WebForm的区别: WebForm在浏览器里运行页面时会自动生成垃圾代码,mvc不会,(运行网页时通 过检查网页源代码可看到) 访问具体的页面的时候后面网址要加.aspx, 而m
阅读全文
摘要:隐式类型变量var 定义一个变量的时候不需要给出具体的类型,可以使用var代替 var 和 object区别 var 会自动拆装箱做类型转换,而obj不会, var 是强类型,它就是一个具体的类型,它会根据值去推理类型,只是一个语法糖,方便用 Object 是弱类型 var不会浪费效率,object
阅读全文
摘要:自己写一个往Cookie里读写对象的扩展方法 创建一个静态类CookieExtands,用来存扩展方法 该类要用到序列化,要引用命名空间:using System.Web.Script.Serialization; public static class CookieExtands { //publ
阅读全文
摘要:自定义List 1在visual studio中创建一个类:MyList 代码如下: public class MyList<T> : IEnumerable<T>//IEnumerable<T>这个接口用于实现延迟调用 { 类名后面跟<T>,表示可以传任意类型(泛型) //集合内部的数组 priv
阅读全文
摘要:概念 协变:以out修饰的泛型类型叫做协变类型,协变只能返回(当返回值),用于返回参数,协变T只能用来当返回值使用 逆变:以in修饰的泛型类型叫做逆变类型,逆变只能当参数传进来,用于接收参数,逆变T只能用来当参数传递 协变和逆变都是单向的。in可读不可写,out可写不可读 创建两个类,基类:Pers
阅读全文
摘要:ref 修饰符,指定参数由引用传递,可以由调用方法读取或写入。 out 修饰符,指定参数由引用传递,必须由调用方法写入。 in 修饰符,指定参数由引用传递,可以由调用方法读取,但不可以写入。 遂码之,首先是in: 可以看到,不能对in参数赋值,可见只能读,不能写 再来out: 可以看到,out参数不
阅读全文