电信主站 网通分站
购买流程 付款方式 常见问题 在线提问 续租服务 购物车
用户名: 密 码: 忘记密码?
首 页
域名注册
虚拟主机
双线主机
服务器租用
VPS主机
企业邮局
代理专区
客服中心
虚拟主机行业资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:西部数码->资讯中心-> 技术学院
asp+中文教程(二)-- Asp+ Web Forms
作者:未知 点击:43
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
二、ASP + Web Forms

ASP + Web Forms ,一个微软的新名词,照它自己的话说,ASP + Web Forms页面框架是一个可升级的NGWS runtime编程模型,可以在服务器上动态产生网页。不太好懂是吗,其实说白了,和HTML的表单一样,但它可以在服务器端动态改变,而不象静态HTML表单那样一旦生成就无法改变,当然,用DHTML或remote script也可以做到动态改变,但毕竟不是很方便。那么,究竟Web Forms是个什么样呢?其实你已经见过了,记得上次我给的那个例子吗,没错,那就是一个Web Forms ,不过由于那个例子里全是静态HTML,所以当你按下”lookup”按钮时只不过是提交一次表单而已,什么都没有发生,现在让我们来看一个真正意义上的Web Forms ,它带有一个广告轮换控制,一个文本输入框,一个选择框、一个按钮和一个文本标签,代码如下。

File : Intro6.aspx

<html>
<head>
<link rel="stylesheet"href="intro.css">
</head>

<script language="C#" runat=server>

void SubmitBtn_Click(Object sender, EventArgs e) {
Message.Text = "Hi " + Name.Text + ", you selected: " + Category.SelectedItem;
}

</script>

<body>

<center>

<form action="intro6.aspx" method="post" runat="server">

<asp:adrotator AdvertisementFile="ads.xml" BorderColor="black" BorderWidth=1 runat="server"/>

<h3> Name: <asp:textbox id="Name" runat="server"/>

Category: <asp:dropdownlist id="Category" runat=server>
<asp:listitem>psychology</asp:listitem>
<asp:listitem>business</asp:listitem>
<asp:listitem>popular_comp</asp:listitem>
</asp:dropdownlist>

<asp:button type=submit text="Lookup" OnClick="SubmitBtn_Click" runat="server"/>

<p>

<asp:label id="Message" runat="server"/>

</form>

</center>

</body>
</html>

好了,现在我们来具体看一下这个ASP+ 程序和ASP到底有什么不同,首先你可能注意到,原来asp的<% %>脚本定界符不见了,取而代之的是<script language=…>,说实话,原来我最痛恨的就是这个<% %>了,尤其是在HTML中混用的时候,简直不象一种编程语言,你要从这样一段程序里看出程序流程来,简直比登天还难,现在好了。当然这不是说你现在不能用<% %>,毕竟它是向前兼容asp的嘛,不过我还是尽量少用为妙。看下面一段:
<script language="C#" runat=server>

void SubmitBtn_Click(Object sender, EventArgs e) {
Message.Text = "Hi " + Name.Text + ", you selected: " + Category.SelectedItem;
}

</script>

用过C的朋友是不是觉得很熟悉?没错,这是用C#写的一个事件处理函数,void SubmitBtn_Click(Object sender , EventArgs e) ,你可能一看就明白了,void代表该函数没有返回值,该函数带有两个参数, 代码只有一行,你可能注意到这行代码中的Message、Name、Category你并没有定义,那么它们从哪里来的呢?看下面的代码:
<form action="intro6.aspx" method="post" runat="server">

<asp:adrotator AdvertisementFile="ads.xml" BorderColor="black" BorderWidth=1 runat="server"/>

<h3> Name: <asp:textbox id="Name" runat="server"/>

Category: <asp:dropdownlist id="Category" runat=server>
<asp:listitem>psychology</asp:listitem>
<asp:listitem>business</asp:listitem>
<asp:listitem>popular_comp</asp:listitem>
</asp:dropdownlist>

<asp:button type=submit text="Lookup" OnClick="SubmitBtn_Click" runat="server"/>

<p>

<asp:label id="Message" runat="server"/>

</form>

这个表单的写法和html表单完全不同了吧?首先,所有的表单项包括表单本身后面都加上了runat=server,这句话的意思就是说这个是服务器端控制项,另外象传统表单的什么<input type=text>等的写法都变了,你仔细观察一下可以看出,原来的文本框变为<asp:textbox>,选择框变为<asp:dropdownlist> , 选择框选项变为<asp:listitem>,而submit按钮变为<asp:button>,这个按钮对应的控制函数就刚才我提到的那个SubmitBtn_Click函数,它是运行在服务器端的。另外还有一个服务器端控制<asp:label id=”Message” runat=”server”/>,这个asp:label是传统表单所没有的,它是一个服务器端文本控制,那么就存在一个问题,如果传统的HTML里没有这个元素,那么ASP+是怎么接收的呢?你运行一下这个程序,然后看一下HTML源码,你会发现这么一行:
<INPUT type="hidden" name="__VIEWSTATE" value="a0z-1715863018__x">
对,ASP+就是通过这个隐藏表单的形式传递过去的。
在<form>标记下有这么一行代码:
<asp:adrotator AdvertisementFile="ads.xml" BorderColor="black" BorderWidth=1 runat="server"/>
asp:adrotator,这也是一个服务器端控制,看名字你就知道了,广告轮换嘛,不过相对ASP,它现在不是使用内置组件,而是作为一个服务器端控制,控制它显示的就是这个ads.xml,代码如下:

file ads.xml:
<Advertisements>

<Ad>
<ImageUrl>/quickstart/aspplus/images/banner1.gif</ImageUrl>
<TargetUrl>http://www.microsoft.com</TargetUrl>
<AlternateText>Alt Text</AlternateText>
<Keyword>Computers</Keyword>
<Impressions>80</Impressions>
</Ad>

<Ad>
<ImageUrl>/quickstart/aspplus/images/banner2.gif</ImageUrl>
<TargetUrl>http://www.microsoft.com</TargetUrl>
<AlternateText>Alt Text</AlternateText>
<Keyword>Computers</Keyword>
<Impressions>80</Impressions>
</Ad>

<Ad>
<ImageUrl>/quickstart/aspplus/images/banner3.gif</ImageUrl>
<TargetUrl>http://www.microsoft.com</TargetUrl>
<AlternateText>Alt Text</AlternateText>
<Keyword>Computers</Keyword>
<Impressions>80</Impressions>
</Ad>

</Advertisements>

自己看一下吧,我就不详细解释了。

好了,现在再运行一遍这个程序,好好体会一下它与asp的区别,准备下次的内容。


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
相关主题
文章页数:[1] 
Google
热门文章
·MDAC2.8 下载!
·MySQL和SQLServer,到底选择谁?
·卖虚拟主机常见骗术
·国际域名知识信息注册全解
·让你的网站快速列入Google的最佳方法
·人站长应了解的最基础的知识
·PHP 和 MySQL 基础教程
·网站常用工具网站
·常用域名管理后台
·巧用百度BAIDU搜索电影

最新文章
·国内中文搜索实用攻略
·巧用百度BAIDU搜索电影
·网站排名:咱也权威一把
·专用小型搜索引擎
·搜出网上精彩
·实用网络搜索技巧
·用户搜索常见问题及解决方法小结
·如何查看自定义天数的ALEXA数据
·Alexa.com的排名原理
·内幕调查:出卖Alexa(下)




版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
  打印  刷新  关闭
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 虚拟主机 | 资讯中心 | 友情链接 | 网站地图

版权所有 西部数码(www.west263.com)
CopyRight (c) 2002~2006 west263.com all right reserved.
公司地址:四川成都市万和路90号天象大厦4楼 邮编:610031
电话总机:028-86262244 86263048 86263408 86263960 86264018 86267838
售前咨询:总机转201 202 203 204 206 208
售后服务:总机转211 212 213 214
财务咨询:总机转224 223 传真:028-86264041 财务QQ:点击发送消息给对方635483282
售前咨询QQ:点击发送消息给对方2182518 点击发送消息给对方241975952 点击发送消息给对方275026793 点击发送消息给对方408235859
售后服务QQ:点击发送消息给对方17708515 点击发送消息给对方307742704 点击发送消息给对方287976517 点击发送消息给对方363783715
《中华人民共和国增值电信业务经营许可证》编号:川B2-20030065号