正文

asp.net笔记(4)2008-04-01 20:34:00

【评论】 【打印】 【字体: 】 本文链接:http://blog.pfan.cn/ghlat520/33795.html

分享到:

第五章:Asp.net的运行模型            在这一章里面,我们要学习以下几点内容             1:Page类             2:Asp.net控件的分类             3:页面之间的跳转,及传值             4:如何用url查询字符串传递汉字             5:设置控件成为焦点,设置WebForm窗体的默认按钮                                                     Page类            一个asp.net应用程序中的每一个页面都是继承自Page类。            1)通过IsPostBack判断一个页面是否第一次被加载                    在页面加载的是否我给Text2.Text=“3”值成功                    当我手动输入“4”的时候 再点Button却取的还是“3”                    如果在加载的时候不设置Text2.Text=“3” 则去取值正确。                    不知道是TextBox问题还是Button问            2)通过RegisterClientScriptBlock注册客户端的js            3)通过Page_Load事件进行数据的初始化            4)Page事件的工作原理:                在asp.net中有两种事件。一种是客户端事件,这种事件由客户端触发,由客户端处理。                  比如:onmoseover,onmouseout等。另外一种事件是服务器端事件,这种事件是由Page类                所产生的。这种事件的特点是:由客户端触发,但客户端不处理,直接交由服务器端来处理                比如:按钮的单击事件,可见如果引发了服务器端事件,页面一定会提交到服务器。我们以                  后把这个过程被称为:"页面的回传",注意回传是客户端到服务器的             5)Page页面的处理过程:               A)页面发生了回传,客户端会把当前页面的控件状态(ViewState)会发给服务器端               B)服务器重新加载页面,此时页面的状态与设计时的状态一致               C)服务器把从客户端接受过来的ViewState数据状态赋给加载的页面,此时                 页面的控件状态与客户端发生回传时的控件状态一致               D)触发页面Page_Load事件               E)回传事件处理               F)页面返回给客户端           举例:             1)定义一个变量,在一个按钮里面改变值,在另外一个按钮里面显示值                            2)加上一个textbox控件,在试一试。从中体会ViewState的作用                                           Asp.net控件的分类              从大体的方面Asp.net控件大致上分成两类。                1:Web控件          2:html控件                         Web控件与html控件的区别             1)Web控件是运行在服务器端,而html控件是运行在客户端的                    2)Web控件是运行在服务器端,经IIs解析成html控件后在客户端来显示             3)Web控件的标记是<asp         runat="server">来标识             4)html控件很容易变成Web控件[单右-->作为服务器控件运行]             5)asp.net里面之所以有Html控件,是照顾到以前asp             6)html控件适合于客户端编程,而web控件适合于服务器端编程                7)为了减轻服务器的负荷,应该尽可能使用html控件               8)如果在一个模态窗体中加入Web服务器控件,每次页面回传时,都会弹出一个新窗口,               为了避免这种情况,可以在模态窗体的<head>与<head>之间加入<base target="_self"/>                     举例:思考用那种类型的控件                 1)用户输入两个数,求和[用文本框]                 2)让用户输入一些信息,添加到数据库[用文本框]                              如何实现从一个页面跳转到另外一个页面,以及页面的传值                                   1)HyperLink控件:                         特点:不能传递Web控件的值,但是可以传递Url查询字符串,需要用户控制                         方法:设置NavigateUrl方法。比如:2.aspx?a=4&b=5                         接受:Request.QueryString["变量名"]                     2)Response.Redirect:                         特点:不能传递Web控件的值,但是可以传递Url查询字符串,不需要用户控制                               比如:从a页面跳到b页面,然后由b页面自动跳到C页面                               也可以通过Url查询字符串来传递控件的值。比如:                                Response.Redirect("2.aspx?xm="+ this.txtUser.Text);                         方法:Response.Redirect("目标网页?url查询字符串")。                                比如:Response.Redirect("2.aspx?a=3&b=4")                          接受:Request.QueryString["变量名"]                     3)Server.Transfer:                        特点:可以传递Web控件的值,也可以传递Url查询字符串,不需要用户控制                        方法:Server.Transfer("目标网页?url查询字符串")。                                   接受:Request.QueryString["变量名"]或Request.Form["txtUser"]授受控件的值                      4)跨网页公布:                         特点:可以传递控件,当然可以传递控件的一切属性,需要用户控制,更加灵活                        方法:在拥有"PostBackUrl"属性上指定目的网页。一般为按钮                         授受:if (PreviousPage != null)  PreviousPage.FindControl("控件名");                     举例:                     1)源页面:选择一个部门。在目的页面里面显示该部门的全部职工                     2)源页面:输入用户名密码。在目的页面里面检验用户名密码是否正确(不经过数据库)                                                                   如何用url查询字符串传递汉字             在通过rul查询字符串传递汉字时,有时候会发现传递的值和接收到的内容不符或者变成一堆乱             码。这样就可以在传递之前把汉字进行编码。之后再解码                   编码:Server.UrlEncode("汉字")                   解码:Server.UrlDecode("汉字")                                         设置控件成为焦点,设置WebForm窗体的默认按钮                           在<form> 标签中声明                     语法:                      <form   defaultbutton="Button1" defaultfocus="TextBox1">

阅读(3034) | 评论(0)


版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!

评论

暂无评论
您需要登录后才能评论,请 登录 或者 注册