本文主要是介绍学习WebForm“前奏”,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
学习WebForm知识点,也就是Web窗体应用程序之前,当然我们要先学习一般处理程序(ashx),作用那是大大的,至于两者的区别和作用,最简单的总结就是当你想要输出Html代码时,就用WebForm,而要想输出非Html代码,比如图片等文件时,那就用一般处理程序吧!初次“见面”WebForm时,新建一个WebForm,其实在新建的时候,有一个选项——是否将代码放在单独的文件夹中,这个点大家往往忽略掉。
其实那个细节,决定了代码内嵌和代码后置两种WebForm模式:
WebForm代码内嵌模式——只有一个文件,以aspx结尾的文件,有几个特点:
<1>-<script runat=”server”></script>中只能写方法的定义;
<2>-<% %>可以写任意代码,但是不能定义方法;
<3>-<%= %>在当前位置输出=后面的值,=后面也可以写方法,但是该方法必须输出字符串的值。
还是演示一个例子吧!这样更能说明问题的!
<script runat="server">
//定义方法
System.Collections.Generic.List<string> GetNames()
{
System.Collections.Generic.List<string> list =
new System.Collections.Generic.List<string>();
list.Add("李四");
list.Add("张三");
return list;
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<%
//可以写任意的C#代码
//但是不能定义方法(*)
System.Collections.Generic.List<string> list = GetNames();
for (int i = 0; i < list.Count; i++)
{
Response.Write(list[i] + "<br/>");
}
string name = "值";
%>
<%Response.Write(name);%>
</div>
<input type="text" value="<%=name%>" />
</form>
</body>
WebForm代码后置模式——不同的是有两个文件,一个以aspx结尾,还有是以.aspx.cs结尾,最明显的特点就是前台代码和服务器端代码区分开来,分别专门放到一个地方,代码更加好维护,而且我们学习时和使用WebForm时,基本上都是使用代码后置的WebForm模式。WebForm代码后置模式其实就是Web版的WinForm,这样大家就更加明白了微软的苦心了,可能两者的过滤好让大家更好学习也是一大原因吧!
还是来讲讲WebForm代码后置的一个小细节:
你可以通过Respose.Write();这个方法来输出内容来证实——先输出.aspx.cs文件,再输出.aspx文件。
最终编译之后,.aspx最终生成一个类,并且继承自.aspx.cs类,当然也继承了IHttpHandler接口并实现接口,才能够输出内容。
关键的Page类,类内部已经通过ProcessRequest方法对当前HttpContext context=..进行赋值。才有了属性Request...和属性Response.Write...。
备注:写于2013年10月7日
这篇关于学习WebForm“前奏”的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!