ASP + Web Forms ,一个微软的新名词,照它自己的话说,ASP + Web Forms页面框架是一个可升级的NGWS runtime编程模型,可以在服务器上动态产生网页。不太好懂是吗,其实说白了,和HTML的表单一样,但它可以在服务器端动态改变,而不象静态HTML表单那样一旦生成就无法改变,当然,用DHTML或remote script也可以做到动态改变,但毕竟不是很方便。那么,究竟Web Forms是个什么样呢?其实你已经见过了,记得上次我给的那个例子吗,没错,那就是一个Web Forms ,不过由于那个例子里全是静态HTML,所以当你按下”lookup”按钮时只不过是提交一次表单而已,什么都没有发生,现在让我们来看一个真正意义上的Web Forms ,它带有一个广告轮换控制,一个文本输入框,一个选择框、一个按钮和一个文本标签,代码如下。
File : Intro6.ASPx
void SubmitBtn_Click(Object sender, EventArgs e) {
Message.Text = "Hi " + Name.Text + ", you selected: " + Category.SelectedItem;
}
好了,现在我们来具体看一下这个ASP+ 程序和ASP到底有什么不同,首先你可能注意到,原来ASP的<% %>脚本定界符不见了,取而代之的是
用过C的朋友是不是觉得很熟悉?没错,这是用C#写的一个事件处理函数,void SubmitBtn_Click(Object sender , EventArgs e) ,你可能一看就明白了,void代表该函数没有返回值,该函数带有两个参数, 代码只有一行,你可能注意到这行代码中的Message、Name、Category你并没有定义,那么它们从哪里来的呢?看下面的代码:
这个表单的写法和HTML表单完全不同了吧?首先,所有的表单项包括表单本身后面都加上了runat=server,这句话的意思就是说这个是服务器端控制项,另外象传统表单的什么等的写法都变了,你仔细观察一下可以看出,原来的文本框变为
对,ASP+就是通过这个隐藏表单的形式传递过去的。
在

