asp net教程详解
务端控件,简化开发,浏览器只认html,因此服务端控件会渲染 到浏览器成html,TextBox→<input type="text"/>。 服务器控件不是新的控件,在浏览器端仍然是生成html标签。服 务端控件虽然好用,但是也有缺点,并不是什么地方用服务器端 控件都好,具体后面讲。
Web应用程序和网站
中将Web虚拟路径(/images/1.jpg)转换为磁盘全路径(d:/wwww/mysite/images/1.jpg)的方法是 HttpContext.Current.Request.MapPath("/1/入门2.htm")。
WebApplication(Web应用程序)和WebSite(网站)的区别, WebSite是为了兼容从ASP转过来的开发人员的习惯而存在的, 用起来简单,比如不需要创建命名空间、CS代码修改以后不需 要重启就能看到变化(无论是WebSite还是WebApplication,修 改aspx都不需要重启。 WebApplication每次修改以后点击【生 成解决方案】也能立即看到修改效果),但是不利于工程化开发 ,比如代码出错不容易发现,代码不分命名空间。开发技术上没 有任何区别,只是开发、调试习惯不同而已。
是一种动态网页技术,在服务器端运行.Net代码,动态 生成HTML。可以使用JavaScript、Dom在浏览器端完成很多工 作,但是有很多工作无法在浏览器端完成,比如存储数据、访问 数据库、复杂的业务逻辑运算、安全性要求高的逻辑运算等。
演示第一个页面:加法计算器。新建Web应用程序。 ※ 服务端控件和HTML控件的生成关系:在aspx页面中可以使用服
• </form>");
并没有真的返回提交页面,只是看起来像罢了。
“返回”提交页面改进版
为了请求、返回的内容一样,将页面保存为一个htm模板文本,模板中有一些待填值的占位符,第一次进入 页面的时候就直接访问ashx,读取htm模板,将待填值占位符设置为空,然后输出到浏览器。
为了区分是第一次直接进入页面还是点击提交以后重新进入ashx,在form中增加一个隐藏字段:<input type="hidden" name="ispostback" value="true" />,如果能够从Request中读取到ispostback=true就说明是 点击提交以后重新进入ashx,否则就是第一次进入ashx。ispostback就是一个标志位。
课前说明
内容:掌握基于的Web开发,内部原理、状态 管理(Cookie、Session、ViewState等)、普通控件、 数据验证、母版、ListView/Repeater等数据绑定控件、AJAX 、 缓存、Membership、导航、自定义控件等。
目标:能够使用开发常见的动态网站功能,并且和Dom 、JQuery等客户端技如果还想返回提交页面,那么需要自己绘制。
• context.Response.Write(@" • <form action='入门1.ashx'> • <input type='text' name='username' value="+username+@"
/><input type='text' /><input type='submit' name='sb' />
浏览器向服务器端提交数据,被提交数据的表单(input、select、textarea等)放到form中,form 中通过action属性设定表单被提交给哪个页面,为了在服务端取出表单项的值,需要在HTML中为表 单元素设定name属性,注意id是给JS操作Dom用的,name才是提交给服务器用的。在服务器端用 context.Request["username"]来根据表单项的name来获得提交的属性值。通过 context.Response.Write向浏览器输出处理后的显示HTML内容。
参考书:《 3.5 揭秘》 注意:原理先行,对于来说弄明白了原理才能学得更快
。会讲一些原理性的非常规用法代码,用※标识,不要学这种写 法。
Java班先讲Servelet再讲JSP,.Net也是先讲HttpHandler再讲 WebForm。
什么是
方便开发不用每次调试都设定起始页,在项目的选项中设定【 Web】→启动操作→当前页面,这样当前激活的页就是起始页。
讲简单基础知识时用WebSite;讲高级技术和做项目的时候用 WebApplication。
请求→处理→响应
自己动手写动态网站
入门1.html
• <form action="入门1.ashx"> • <input type="text" name="username" /><input type="submit" /> • </form>
</font>"+Guid.NewGuid());
•
每当用户请求访问ashx页面的时候,.net课程ProcessRequest方法就会被调用,在这里通过访问 context.Request获得访问者的请求参数等。然后在ProcessRequest中通过context.Response向浏 览器发回数据给浏览器。ProcessRequest结束之时就是服务器为这个浏览者本次访问服务完成之时
新建一个【一般处理程序】入门1.ashx, ProcessRequest中写
• context.Response.ContentType = "text/html";
•
string username = context.Request["username"];
•
context.Response.Write(username + "<font color='red'>你好