【C#】asp.net
1加粗样式
2.执行顺序
1.页面刚打开时的执行顺序:head里自动执行的JS==》Page_load事件==》body里自动执行的JS==》window.onload
2.点击服务器按钮时的执行顺序:前台服务器按钮==》head里自动执行的JS==》后台服务器按钮==》body里自动执行的JS==》window.onload
3.点击普通按钮时的执行顺序:前台普通按钮
4.Page_Init先于Page_Load先于Page_PreRender被执行
3.GridView点击行触发SelectedIndexChanged事件
http://xieycms.blog.163.com/blog/static/281213902010123105350751/
4.asp获取ajax数据
在aspx的后台可以用如下的方式来捕获参数:
workstateValue = Request.QueryString[“workstateValue”];
1
在一般处理程序中可以用:
return Context.Request.Params[name];
5.response.write()返回目标页
http是一个短链接一次请求一个回复就断开了。
是谁请求的就返回给response的写出就返回给谁。
所以是ajax发起的请求当然是ajax对象接受返回数据才算一次完整的请求。
如果是浏览器页面发出的http请求当然就是浏览器页面接受返回的数据,也就是document接受。
在浏览器中目前发起http请求的只有两种方式,一种是页面发起的http请求,一种是ajax发起的http请求。
其它客户端也能发起http请求。
谁发起的由谁接受。
6.response的contentType 几种类型
ajax开发中在请求服务器端的响应时, 对于每一种返回类型 规范的做法是要在服务端指定response的contentType 的. (当然 不指定绝大多数情况下也没什么问题 尤其是返回"非xml"的时候) 。
常遇到下面的几种情况:
1、 服务端需要返回一段普通文本给客户端,Content-Type=“text/plain”
2 、服务端需要返回一段HTML代码给客户端 ,Content-Type=“text/html”
3 、服务端需要返回一段XML代码给客户端 ,Content-Type=“text/xml”
4 、服务端需要返回一段javascript代码给客户端
5 、服务端需要返回一段json串给客户端
我们主要讨论返回javascript代码和Json对象的情况。
javascript 的 contentType 按最标准的写法 应该是 application/javascript。而常用的 text/javascript 已经被 rfc定义为废弃的。
但是 在这里暂时不建议使用 application/javascript . 大家还是继续使用 text/javascript 为好. 因为很多老旧浏览器并不支持 application/javascript . 而所有浏览器都支持text/javascript. 在标准和广泛的兼容性之间 还是暂且选择后者吧。
json 的 contentType 常见写法有 : text/json & text/javascript .
但是 这个 text/json 其实是根本不存在的, 而 text/javascript 在有些时候客户端处理起来会有歧义. 对于json的contentType , rfc里定义的标准写法是 :application/json.
在这里毫无疑问 我们应该选择标准写法的 application/Json。
7.value,innerHTML
表单控件value,非表单控件:innerHTML
:value
:value(取值)、innerHTML(取文本)
8.JS获取子节点、父节点和兄弟节点的方法实例总结
https://www.jb51.net/article/143286.htm
9.ajax请求的data数据格式
https://www.cnblogs.com/yangguoe/p/8986108.html
10.ajax与后端通信的三种方式 带[WebMethod]用rutrun回传数据?
https://blog.csdn.net/m18633778874/article/details/79659144
11.ASP.NET Global.asax详解
https://www.cnblogs.com/dayang12525/p/6323164.html
12.三层架构
三层结构符合“高内聚、低耦合”的特点,每个层职责明确。利用分层,降低了层间依赖,使系统的耦合更加松散,从而使系统更加容易维护和复用。
三层:
显示层(UI)、业务逻辑层(BLL)、数据访问层(DAL)再加上实体类库(Model)组成
1.显示层(UI)
(1)在UI中添加对Model、BLL的引用
(2)编写代码传递数据给BLL层
职责:①向用户展示特定的业务数据
②采集用户的信息和操作
2.业务逻辑层(BLL)
(1)先建立业务逻辑层类库BLL
(2)在BLL中添加对Model、DAL的引用
(3)建立业务逻辑类
职责:① 从UI中获取用户指令和数据,执行业务逻辑
②从UI中获取用户指令和数据,通过DAL写入数据源
③从DAL中获取数据,以供 UI 显示用
3.数据访问层(DAL)
(1)先建立数据访问层类库DAL
(2)在DAL中添加对Model的引用
(3)建立数据访问类
作用:跟数据源打交道
职责:执行对数据的操作(增删改查)
机制:UI –> BLL –> DAL –> BLL –> UI
4.实体类库(Model)
作用:主要存放数据库中的表字段,对其字段进行封装
三层之间的引用如下:
Model 不引用任何项目
DAL 引用Model (以及解决错误时 引用的System.Configuration )
BLL 引用Model 、DAL
UI(web:前台html+后台cs) 引用Model 、BLL
然后web调 UI-》》BLL-》》DAL -》》再返回给UI Model (实体类)是三层都要用到的
13.Token
一、我们先解释一下他的含义:
1、Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
2、Token的定义:Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,无需再次带上用户名和密码。
3、使用Token的目的:Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
了解了Token的意义后,我们就更明确的知道为什么要用他了。
二、如何使用Token?
这是本文的重点,在这里我就介绍常用的两种方式。
1、用设备号/设备mac地址作为Token(推荐)
客户端:客户端在登录的时候获取设备的设备号/mac地址,并将其作为参数传递到服务端。
服务端:服务端接收到该参数后,便用一个变量来接收同时将其作为Token保存在数据库,并将该Token设置到session中,客户端每次请求的时候都要统一拦截,并将客户端传递的token和服务器端session中的token进行对比,如果相同则放行,不同则拒绝。
分析:此刻客户端和服务器端就统一了一个唯一的标识Token,而且保证了每一个设备拥有了一个唯一的会话。该方法的缺点是客户端需要带设备号/mac地址作为参数传递,而且服务器端还需要保存;优点是客户端不需重新登录,只要登录一次以后一直可以使用,至于超时的问题是有服务器这边来处理,如何处理?若服务器的Token超时后,服务器只需将客户端传递的Token向数据库中查询,同时并赋值给变量Token,如此,Token的超时又重新计时。
2、用session值作为Token
客户端:客户端只需携带用户名和密码登陆即可。
客户端:客户端接收到用户名和密码后并判断,如果正确了就将本地获取sessionID作为Token返回给客户端,客户端以后只需带上请求数据即可。
分析:这种方式使用的好处是方便,不用存储数据,但是缺点就是当session过期后,客户端必须重新登录才能进行访问数据。
14.WebMethod vs ScriptMethod
您在以下两个方案中使用ScriptMethod属性。
1.您正在使用jquery或任何其他ajax请求机制,但您希望请求是GET而不是POST。
2.您希望在javaScript中接收XML格式的响应。
如果您没有上述要求之一;您只需要使用ajax请求进行JSON响应,然后您就可以使用WebMethod。 这里还有一个令人困惑的元素,你什么时候使用ScriptService属性?如果您使用的是Microsoft Ajax Client脚本框架,则使用此属性,此属性告诉服务器在客户端上生成代理对象,以便您可以像普通对象一样调用函数。ScriptMethod可以是一个额外的注释。如果方法未使用ScriptMethodAttribute标记,则将使用HTTP POST命令调用该方法,并将响应序列化为JSON。
15.xmlhttprequest readyState 属性的五种状态
关于readystate五个状态总结如下:
readyState 状态 状态说明
(0)未初始化
此阶段确认XMLHttpRequest对象是否创建,并为调用open()方法进行未初始化作好准备。值为0表示对象已经存在,否则浏览器会报错--对象不存在。
(1)载入
此阶段对XMLHttpRequest对象进行初始化,即调用open()方法,根据参数(method,url,true)完成对象状态的设置。并调用send()方法开始向服务端发送请求。值为1表示正在向服务端发送请求。
(2)载入完成
此阶段接收服务器端的响应数据。但获得的还只是服务端响应的原始数据,并不能直接在客户端使用。值为2表示已经接收完全部响应数据。并为下一阶段对数据解析作好准备。
(3)交互
此阶段解析接收到的服务器端响应数据。即根据服务器端响应头部返回的MIME类型把数据转换成能通过responseBody、responseText或responseXML属性存取的格式,为在客户端调用作好准备。状态3表示正在解析数据。
(4)完成
此阶段确认全部数据都已经解析为客户端可用的格式,解析已经完成。值为4表示数据解析完毕,可以通过XMLHttpRequest对象的相应属性取得数据。
概而括之,整个XMLHttpRequest对象的生命周期应该包含如下阶段:
创建-初始化请求-发送请求-接收数据-解析数据-完成
100——客户必须继续发出请求
101——客户要求服务器根据请求转换HTTP协议版本
200——交易成功
201——提示知道新文件的URL
202——接受和处理、但处理未完成
203——返回信息不确定或不完整
204——请求收到,但返回信息为空
205——服务器完成了请求,用户代理必须复位当前已经浏览过的文件
206——服务器已经完成了部分用户的GET请求
300——请求的资源可在多处得到
301——删除请求数据
302——在其他地址发现了请求数据
303——建议客户访问其他URL或访问方式
304——客户端已经执行了GET,但文件未变化
305——请求的资源必须从服务器指定的地址得到
306——前一版本HTTP中使用的代码,现行版本中不再使用
307——申明请求的资源临时性删除
400——错误请求,如语法错误
401——请求授权失败
402——保留有效ChargeTo头响应
403——请求不允许
404——没有发现文件、查询或URl
405——用户在Request-Line字段定义的方法不允许
406——根据用户发送的Accept拖,请求资源不可访问
407——类似401,用户必须首先在代理服务器上得到授权
408——客户端没有在用户指定的时间内完成请求
409——对当前资源状态,请求不能完成
410——服务器上不再有此资源且无进一步的参考地址
411——服务器拒绝用户定义的Content-Length属性请求
412——一个或多个请求头字段在当前请求中错误
413——请求的资源大于服务器允许的大小
414——请求的资源URL长于服务器允许的长度
415——请求资源不支持请求项目格式
416——请求中包含Range请求头字段,在当前请求资源范围内没有range指示值,请求也不包含If-Range请求头字段
417——服务器不满足请求Expect头字段指定的期望值,如果是代理服务器,可能是下一级服务器不能满足请求
500——服务器产生内部错误
501——服务器不支持请求的函数
502——服务器暂时不可用,有时是为了防止发生系统过载
503——服务器过载或暂停维修
504——关口过载,服务器使用另一个关口或服务来响应用户,等待时间设定值较长
505——服务器不支持或拒绝支请求头中指定的HTTP版本
16.ascx
17.
和<%–注释–%>有什么区别
使用ASP.NET编辑页面时,有两种注释方式:一是使用
,二是使用<%-- --%>,前一种方式是标准的HTML注释,在HTML文件中也可以使用,后一种是ASP.NET特有的注释,只有在ASPX文件中可以使用。那么这两种注释有什么区别呢?区别就是它们是否显示在页面最终生成的HTML文件中。现在做一个试验,做一个test.aspx文件,页面代码如下。
18.就算aspx有if eval里的字段也要在.cs里的数据源里添加 不然会报没字段的错误
异常:将指定的计数添加到该信号量中会导致其超过最大计数。
解决:重启iis
EF
b站教程
相关文章
- Get Started with ASP.NET Web API 2 (C#)
- ASP.NET Razor - C# Variables
- 程序猿修仙之路--数据结构之你是否真的懂数组? c#socket TCP同步网络通信 用lambda表达式树替代反射 ASP.NET MVC如何做一个简单的非法登录拦截
- C#反射实现 C# 反射 判断类的延伸类型 使用代码生成工具Database2Sharp快速生成工作流模块控制器和视图代码 C# ADO.NET的SqlDataReader对象,判断是否包含指定字段 页面中添加锚点的几种方式 .net 简单实用Log4net(多个日志配置文件) C# 常用小点
- c#金额转换成中文大写金额 .Net开发Windows服务
- 反爬虫:利用ASP.NET MVC的Filter和缓存(入坑出坑) C#中缓存的使用 C#操作redis WPF 控件库——可拖动选项卡的TabControl 【Bootstrap系列】详解Bootstrap-table AutoFac event 和delegate的分别 常见的异步方式async 和 await C# Task用法 c#源码的执行过程
- 【转】.NET(C#):浅谈程序集清单资源和RESX资源 关于单元测试的思考--Asp.Net Core单元测试最佳实践 封装自己的dapper lambda扩展-设计篇 编写自己的dapper lambda扩展-使用篇 正确理解CAP定理 Quartz.NET的使用(附源码) 整理自己的.net工具库 GC的前世与今生 Visual Studio Package 插件开发之自动生
- 【C#】对异步请求处理程序IHttpAsyncHandler的理解和分享一个易用性封装 【手记】走近科学之为什么明明实现了IEnumerable<T>的类型却不能调用LINQ扩展方法 【手记】手机网页弹出层后屏蔽底层的滑动响应 【手记】ASP.NET提示“未能创建类型”处理 【Web】一个非常简单的移动web消息框 【手记】解决EXCEL跑SQL遇“查询无法运行或数据库表无法打开...”
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
- (六)Net Core项目使用Controller之一 c# log4net 不输出日志 .NET Standard库引用导致的FileNotFoundException探究 获取json串里的某个属性值 common.js 如何调用common.js js 筛选数据 Join 具体用法
- c#实例化继承类,必须对被继承类的程序集做引用 .net core Redis分布式缓存客户端实现逻辑分析及示例demo 数据库笔记之索引和事务 centos 7下安装python 3.6笔记 你大波哥~ C#开源框架(转载) JSON C# Class Generator ---由json字符串生成C#实体类的工具
- ADO.NET .net core2.0添加json文件并转化成类注入控制器使用 简单了解 iTextSharp实现HTML to PDF ASP.NET MVC 中 Autofac依赖注入DI 控制反转IOC 了解一下 C# AutoMapper 了解一下
- Word控件Spire.Doc 【页面背景】教程(9) ;C#/VB.NET:从 Word 文档中删除文本或图像水印
- Word控件Spire.Doc 【评论】教程(5):如何在 C#、VB.NET 中回复 Word 中的评论
- c# .net cookie帮助类CookieHelp.cs,防止cookie乱码,c# 读取cookie乱码,写入cookie乱码
- c# .Net 让Swagger隐藏/忽略指定接口类或方法
- 《C#多线程编程实战(原书第2版)》——2.3 使用Mutex类
- 第二节:Web前端-ASP.NET之C#基础
- ASP.NET(C#)常用数据加密和解密方法汇总
- C# CheckedListBox控件的使用方法
- asp.net-Creating JavaScript objects from ASP.NET objects