.net笔记二



2014.08.04
两个表引用的时候一定要引用主键
数据的软删除,真正项目中一般不要真正delete掉,而是将数据表中加一个字段isDeleted


真正项目中,数据库一般都是随着项目会改变的,表会增加字段。
<appSetings>里面存取数据。

asp.net路线
互联网开发(全网访问) 管理系统开发(内部访问)(技术没有什么区别) 

只是大多数中小型系统对技术要求不高
.net是类库是工具。
Chrome调试开发工具好,支持好。
页面中的图片,脚本等都需要服务器来返回给浏览器。需要多次交互。
HttpHander:ProcessRequest()
vs2010有内置web服务器,默认是没有使用IIS服务器。
<form action='' method='get'><input name=''><input type='submit'>,

提交只能input textarea select这三种标签的value值 如果是相同的name那么提交的回事字符串相加。


2014.08.05
get会把参数放入地址栏中post请求将表单值隐藏到http报文中以formData的形式把数据传输出去。
get有长度限制,post无法通过url在其他用户中还原。

http协议,是server与browser传输使用的协议。不保持连接。(网游需要长
连接)请求:标头,正文。(socket报文)响应:标头,正文。


响应200 302 404 500
code=html.replace("{username}",username)
模板引擎Nvelocity.dll,可以将htm放在单独目录下面由美工处理。可以将对象传到htm中


2014.08.06


模板文件:CommonHelper.cs

RenderHtml(string templates,object data)用data数据填充templateName模板,渲染生成html返回,

这个data一般不要是datatable,要传dt.Rows,用来foreach遍历。

#foreach($person in $Data) $person.Name
(数据和界面分离)
增删改查模板页:PersonList.htm,PersonEdit.htm(add的展示保存,edit
的展示保存,要存放隐藏按钮提交参数)
Person.Edit.ashx
- - - - - - - - - - - - - - - 
DateGrid:拒绝自动 
IsReadOnly="true"
AutoGenerateCOlumns="false"
CanUserAddRows="falsse"

<Colunms><DataGridTextColumn  IsReadOnly="false" Binging="{binding 
Gender}"></Columns>


2014.08.08
状态传递:http是无状态的,要另外把数据保存传递。
两页面最好的数据的传递方式是url,但是不保密。
状态信息尽量不要保存在隐藏字段中,会加大网站流量,降低访问速度,不安全。
url和表单传递数据,不自由。可用cookie,cookie存在客户端本地硬盘中,
只有自身网站可以读取。浏览器每次请求该网站都会把cookie以报文形式发送



给服务器。
写cookieresponse.SetCookie(new HttpCookie("Age","33"))
读取request.Cookies["Age"].value
cookie不能跨不同浏览器。几k的大小限制。
cookie生命周期是浏览器的生命周期,重启就自动删除了。


cookie1.Expires=DateTime.Nw.AddHours(3),可以设置过期时间。
cookie记住用户名。
若要存储稍微机密的数据,可以保存一个Guid带Cookie中,服务器中建立一个


以Guid为Key,复杂数据位Valuede 的全局Dictionary,放到Application中。
用户可以直接修改cookie的值。
static在.net f运行时一直存在。
private static Dictionary<Guid,string> account=new 


Dictionary<Guid,string>


secction机制,实际上是用了cooke存了一个guid键名在客户端,把数据存到server中。
不同的浏览器是不同的键cokkie

Context.Session["name"]=username;
session自动销毁机制,防止访问很大是占用过多内存


2014.08.11
AJAX
<input type="hidden" name="IsPostBack" value="true">
bool isPostBack=Convert.ToBoolean(Request["IsPostBack"])如果是TRUE的


话就是提交了页面。提交页面后要重新定向页面。
AJAX:js中创建XMLHTTPRequest对象来想server发出请求,并返回数据。
不同的IE创建xmlHttp的方法不同。xmlhttp.open("post","zan.ashx?


action=zan",true)准备工作。
ajax异步的并不是等到server返回才继续指向。xmlhttp.readystate==4表示


服务器返回数据,xmlhttp.status==2表示成功,xmlhttp.responsetext


封装ajax代码:
function ajax(url,onsuccess){onsuccess(xmlhttp.responsetext)}
执行js:ajax("...",function(resText){...})


相对路径是根据浏览器来看的,访问的是viewvidio.ashx这个页面。string html=CommonHelper.RenderHtml("video.htm",null);context.Response

(html);(渲染htm页面) video.htm这个页面浏览器是不知道的。路径是根据ashx这个路径来判断的。

ajax检查用户名:
οnblur="checkUserName"
ajax("CheckuserName.ashx?username=li",function(resText){if
(resText=="ok"){...}})
ashx页面中返回resText,
context.Response.Write("ok")


Json

ajax服务器端需返回很复杂的数据。ajax规定了数据传输标准Json,xml格式的文档太大,要尽量降低网络流量。

json讲数据简化体积更小,传递结构化话数据。

List<person> list=new List<person>()'
list.add(new person{name="li",age=22});list.add(new person


{name="li",age=22});
要引用这个类。
JavaScriptSerializer jss=new JavaScriptScrializer();
string json=jss.serialize(list);生成的是{{"name":"li","age":22},{}}
json字符串可以转换成js对象,使用json.parse;(ie67没有,可印用json.js)

var p=json.parse(tesText);
for(var i=0;i<p.lenth,i++){var per=person[i];alert(p.name)}


2014.08.12
练习无刷新评论ajax,需用到js动态创建html元素。


网站安全。
客户端不可信!
修改url参数可以直接向服务器发请求,跳过客户端js校验。使用post的会,写个socket程序照样可以跳过客户端校验向服务器发送报文。
必须进行服务器端校验。

默认asp.net4.0会对请求数据进行校验。(跨站脚本攻击XSS)不允许在提交数据中加html标签。

需加ValidateRequest="false"或者<systerm.web>中把asp.net改为2.0。

可视化编辑器CKEditor:
/js/ckeditor放入源文件


<textarea name="msg" id="editor"></textarea>
JSONload: CKEDITOR.replace(doc.getbyID("editor"))会把textarea变成编
辑器。提交给服务器的是html内容。

编辑器探秘:js在客户端浏览器动态生成了很多东西



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ASP.NET笔记博客源码是一个用于创建和管理个人或团队博客的开源项目。它基于ASP.NET框架,使用C#作为主要编程语言。该项目的目的是为用户提供一个简单易用的平台,方便他们记录和分享个人或团队的经验、知识和想法。 在ASP.NET笔记博客源码中,主要包含以下几个核心模块: 1. 用户认证和授权:该模块负责用户的注册、登录和权限管理。用户可以通过创建自己的账户来使用博客系统,并根据不同的权限设置来管理自己的博客内容,如发布、编辑和删除博文等。 2. 博文管理:该模块用于管理博客的文章。用户可以使用富文本编辑器来撰写文章,并可以对文章进行分类、标签和搜索。此外,用户还可以管理自己的评论和回复。 3. 主题和样式:该模块允许用户自定义博客的主题和样式。用户可以选择不同的主题模板,如布局、颜色等,以满足自己的需求和喜好。 4. 评论和交互:用户可以对其他人的文章进行评论和回复,并可以与其他用户进行互动和讨论。这增加了博客的交互性和社交性。 此外,ASP.NET笔记博客源码还可以进行扩展和定制,以满足特定需求。用户可以添加其他功能模块,如图片库、标签管理和站点统计等,以实现更加丰富和个性化的博客。 总结来说,ASP.NET笔记博客源码是一个基于ASP.NET框架的开源项目,用于创建和管理个人或团队的博客。它提供了用户认证、博文管理、主题样式和评论交互等核心功能,同时支持扩展和定制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值