ASP.NET基础知识(一)
通过几天 的面试发现一个规律,对于还没有毕业的大学生来说,拥有多少项目经验 不是企业最看重的,企业更看中的是对基础知识的掌握程度,万丈高楼平地起,现在我就总结一下这方面的基础知识,也当做学习笔记吧!
WebSite和WebApplication的区别
1)当改变后台代码时,WebApplication需重启浏览器或者重新生成解决方案,而WebSite则不用;
2)WebSite没有Solution,没有namespace,不利于工程化开发。
HTTP的工作方式是什么?
1)客户端提交表单请求处理 Request
2)服务器端处理程序进行处理 Handle
3)服务端相应 Response
注意: 提交到服务器的表单元素一定要添加name属性,因为服务器只认name,这一点和Jquery、DOM不一样,它们只会识别id.
Form的method属性指定表单的提交方式的问题 *
1)get(默认值)是通过地址栏的URL显式地传递表单;
post传递的表单值是隐藏在Http报文中,URL地址栏中是看不到的;
2)get传递值的数量是有限的,会受到地址栏长度的影响,好像最大是2K个字节,而post则没有限制。
3)post当刷新页面时,会有浏览器提示重新提交表单的对话框,而get则没有。
DIV中的内容不会提交给服务器?
只有给div设置了name属性的value值(如input、textarea、select等)才会被提交到服务器
ViewState原理
1)隐藏一些字段,用来存放那些没有value属性值的控件
2)因为http是无状态的协议,所以当页面发生改变的时候,会用viewstate保持页面上一次的状态。
3)例如:label控件被浏览器渲染成标记,所以label的值就存在了viewstate中;
同理,textbox控件也被浏览器渲染成了input标记,TextBox中的值不用存,因为TextBox本质上就是input,input自己会提交给服务器,不需要隐藏字段。
4)可以通过ViewStateDecoder工具查看viewstate中的容的本来面目。
状态信息保存在隐藏字段中(viewstate)的优缺点
1)加大网站流量
2)降低访问速度
3)机密数据放到表单中会有数据欺骗等安全性问题(如网银等)。*
所有的后台程序实现的都是IhttpHandler接口
Cookie和session都是用来存放当前客户端的相关数据,
cookie存放在客户端,session存放在服务器端。
注意:session中不能保存太大的数据,它存的是object类型的数据,所以使用时需要进行类型装换。
http请求报文时,页面中的每类元素,如img、js、css等文件都是单独请求的。这一点可以通过开发者工具或者大名鼎鼎的Firebug查看。
* http是"无状态 "的协议,所以它不会记得上一次做过什么,不会记得上次给浏览器发过**信息,所以当它下次重新请求时,img、js、css等文件会重新发来header信息。
get是通过url地址栏传送的参数显式地 传递的,如: ?a=123&b=abc
post是不通过url传值的,但是它在后台悄悄地传送数据 ,用__VIEWSTATE隐式地 传送。
HTTP各种状态码 含义
1)200系列,表示请求成功,OK
2)300系列,如307,表示服务器重定向,需要对请求做进一步处理;
3)400系列,如404,表示页面未找到,file not found.
4)500系列,表示内部服务器错误。
后台写删除按钮提交事件是,要在Button控件中的OnClientClick属性中加上
可以在客户端提示友好地操作者,以免进行不必要的删除。
127.0.0.0是回环地址,表示访问本机,不经过网卡,无法在外地访问,别名为localhost。
0.0.0.0 表示任意IP,AnyIP.
将Html、js转换为普通一对一字符
HttpUtility.HtmlEncoder(string s) // 转换为特殊字符,例如:小于号<转为< 大于号> 转化为> 空格符转换为
/表示网站的根目录;
..表示上级目录;
.表示当前目录;
~特殊路径,只用于服务器控件中,表示从应用的根目录开始定义。
将虚拟路径转化为全路径,绝对路径
VirtualPathUtility,ToAblolute("~/a/b.html"); // 转换为 /WebSite/a/b.html
服务端控件必须用post方法提交form。
可以利用ClientID获取客户端控件的ID,
getElementById('<% =TextBox1.ClientID %>');
并不是每个服务端控件的ID和客户端的控件ID都一样,例如:在用户自定义控件(WebUserContrl.ascx)中服务端控件的ID会和客户端的ID不一样。
服务端控件label会在客户端渲染成, 如果设置AssociateControlID属性为TextBox1,在客户端则会渲染成
Literal控件在客户端什么都不渲染,以纯文本的形式展现。
当设置其Mode属性为EnCode时,该控件会自动实现HttpUtility.HtmlEncoder(string s)转换,有时候很方便,同时可以避免XXS攻击。
TextBox控件
1)设置TextMode属性为SingleLine,会渲染成
2)设置TextMode属性为MultiLine,会渲染成
3)设置TextMode属性为Pasword,会渲染成
4)当设置AutoPostBack 属性为true时,用户焦点离开TextBox就会造成页面的post;提交表单时最好用__doPostBack的js方法。
写在后面:知识虽然基础,但却实用,不要羡慕别人写好的酷炫至极的js效果就去盲目跟风。三天打鱼两天晒网更是不可取,学习贵在坚持,没有人的智商高到不用学习就能会的,愚公移山、夸父追日的精神值得我们学习!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

En C, le type de char est utilisé dans les chaînes: 1. Stockez un seul caractère; 2. Utilisez un tableau pour représenter une chaîne et se terminer avec un terminateur nul; 3. Faire fonctionner via une fonction de fonctionnement de chaîne; 4. Lisez ou sortant une chaîne du clavier.

Dans le langage C, les caractères spéciaux sont traités à travers des séquences d'échappement, telles que: \ n représente les pauses de ligne. \ t signifie le caractère d'onglet. Utilisez des séquences d'échappement ou des constantes de caractères pour représenter des caractères spéciaux, tels que char c = '\ n'. Notez que l'arrière-plan doit être échappé deux fois. Différentes plates-formes et compilateurs peuvent avoir différentes séquences d'échappement, veuillez consulter la documentation.

Dans le langage C, la principale différence entre Char et WCHAR_T est le codage des caractères: Char utilise ASCII ou étend ASCII, WCHAR_T utilise Unicode; Char prend 1 à 2 octets, WCHAR_T occupe 2-4 octets; Char convient au texte anglais, WCHAR_T convient au texte multilingue; Le char est largement pris en charge, WCHAR_T dépend de la prise en charge du compilateur et du système d'exploitation Unicode; Le char est limité dans la gamme de caractères, WCHAR_T a une gamme de caractères plus grande et des fonctions spéciales sont utilisées pour les opérations arithmétiques.

Les méthodes d'utilisation des symboles dans la couverture du langage C Couverture arithmétique, l'affectation, les conditions, la logique, les opérateurs de bits, etc. Les opérateurs arithmétiques sont utilisés pour les opérations mathématiques de base, les opérateurs d'affectation sont utilisés pour les opérations et les opérations de la soustraction, la multiplication et les opérations de division, les opérations BIT sont utilisé pointeurs nuls, marqueurs de fin de fichier et valeurs non nucères.

La différence entre le multithreading et l'asynchrone est que le multithreading exécute plusieurs threads en même temps, tandis que les opérations effectuent de manière asynchrone sans bloquer le thread actuel. Le multithreading est utilisé pour les tâches à forte intensité de calcul, tandis que de manière asynchrone est utilisée pour l'interaction utilisateur. L'avantage du multi-threading est d'améliorer les performances informatiques, tandis que l'avantage des asynchrones est de ne pas bloquer les threads d'interface utilisateur. Le choix du multithreading ou asynchrone dépend de la nature de la tâche: les tâches à forte intensité de calcul utilisent le multithreading, les tâches qui interagissent avec les ressources externes et doivent maintenir la réactivité de l'interface utilisateur à utiliser asynchrone.

Dans le langage C, la conversion de type char peut être directement convertie en un autre type par: Casting: Utilisation de caractères de casting. Conversion de type automatique: Lorsqu'un type de données peut accueillir un autre type de valeur, le compilateur le convertit automatiquement.

Il n'y a pas de fonction de somme intégrée dans le langage C, il doit donc être écrit par vous-même. La somme peut être obtenue en traversant le tableau et en accumulant des éléments: Version de boucle: la somme est calculée à l'aide de la longueur de boucle et du tableau. Version du pointeur: Utilisez des pointeurs pour pointer des éléments de tableau, et un résumé efficace est réalisé grâce à des pointeurs d'auto-incitation. Allouer dynamiquement la version du tableau: allouer dynamiquement les tableaux et gérer la mémoire vous-même, en veillant à ce que la mémoire allouée soit libérée pour empêcher les fuites de mémoire.

Le Array Char stocke des séquences de caractères en C et est déclaré Char Array_name [Taille]. L'élément d'accès est passé par l'opérateur d'indice, et l'élément se termine par le terminateur nul «\ 0», qui représente le point final de la chaîne. Le langage C fournit une variété de fonctions de manipulation de cordes, telles que strlen (), strcpy (), strcat () et strcmp ().
