第四章课后答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第4章服务器控件
4.5.1 作业题
1.请编程遍历页面上所有TextBox控件并给它赋值为string.Empty。如图13、14所示。
图13 在TextBox中输入信息图14 一键清空所有TextBox
2. 改写作业题3-2,要求页面传值采用POST请求
3. 在主页上添加一个RadioButtonList,添加“少林派”、“丐帮”、“古墓派”三个列表项。添加一个CheckBox,控制RadioButtonList的表项横排或竖排显示。添加一个ListBox,当选择“少林派”时,添加列表项“达摩”、“扫地僧”、“方世玉”。当选择“丐帮”时,添加列表项“洪七公”、“黄蓉”、“乔峰”。当选择古墓派时,添加列表项“林朝英”、“小龙女”、“杨过”。再添加两个CheckBox,分别控制ListBox控件中的内容加粗或倾斜显示。添加一个Label控件,当选中ListBox中的某个表项时,自动在Label中显示:“您将要拜入某某帮谁谁门下”。如图15——图16所示。
图15 运行结果图16 选择了某师傅之后的运行结果
4. 新建一个网站,在解决方案资源管理器中,右击项目名称选择“添加现有项”,然后将本章前3个作业题的页面全部添加进来,修改页面名称为homework4_1.aspx的形式。再添加一个默认主页Default.aspx,添加一个HyperLink控件、一个LinkButton控件和一个HTML元素,分别链接到homework4_1.aspx、homework4_2.aspx、homework4_3.aspx。
如图17——图18所示。
图17 解决方案资源管理器图18 运行结果
见“课后习题源代码”文件夹下的“homework4-1——homework4-4”
4.5.2 思考题
1.在中重定向到其他网页有哪些方法?
(1) 采用HTML的 标签,例如:
(2) 采用HyperLink控件,例如:
NavigateUrl="">点击前往外部站点谷歌
(3) 采用Response.Redirect方法,例如:
Response.Redirect("");
Response.Redirect("NewPage.aspx");
(4) 采用Response.AppendHeader或Response.AddHeader方法,例如:
Response.Status = "302 页面重定向!";
Response.AppendHeader("Location", "");
Response.Status = "302 页面重定向!";
Response.AppendHeader("Location", "NewPage.aspx");
(5)采用javascript脚本,例如:
Response.Write("");
Response.Write("");
(6)采用Button、LinkButton、ImageButton等控件的PostBackUrl属性,例如:
//跳转到站点外部
//跳转到站点内部
PostBackUrl="NewPage.aspx"/> (7) 采用Server.Transfer方法,例如: Server.Transfer("NewPage.aspx");//只能跳转到站点内部 (8) 采用Server.Execute方法,例如: Server.Execute("NewPage.aspx");//只能跳转到站点内部 2.在的页面之间传递数据有哪几种方式,并说出他们的优缺点。 (1) 采用GET方式,将数据放在URL地址栏中传递。例如: 链接地址传送 Response.Redirect("target.aspx?variable1=1111&variable2=2222") Server.Transfer("target.aspx?variable1=1111&variable2=2222") 接收页面: string str = Request.QueryString["variable1"] 优点:效率高、简单 缺点:安全性较低、不能传递对象,传递的数据长度有限 (2) 采用POST方式,将数据放在HTTP请求体中传递。 优点:安全性较高,可传送的数据长度没有限制,可传送非ASCII字符和对象。 缺点:执行效率低于GET方式 (3) 将数据保存在cookie中传递。 优点:简单,不占用服务器资源 缺点:浏览器可能不支持或禁用cookie,不安全,可能被伪造 (4) 将数据保存在session中传递。 优点:简单,能传递对象 缺点:占用服务器资源。20分钟内无操作session对象会被释放,所以数据容易 丢失。 (5) 将数据保存在application中传递。 优点:使用简单,能够传递对象 缺点:作为全局变量,可被所有用户访问和使用,容易被误操作。占用服务器资 源。若保存数据的服务器端进程被损坏(如因服务器崩溃或关闭而损坏),那么数 据就会丢失。 (6) 采用server.transfer方法。 在新页面中通过Context.Handler来获得前一个页面传递的各种数据类型的值、 表单数据、QueryString. 优点:直接在服务器端重定向,使用简单方便,减少了客户端对服务器端提出请 求。可以传递各种数据类型的值和控件的值。 缺点:客户端浏览器中的URL地址是不改变,会导致在新的页面可能出现一些意 想不到的问题。比如如果源页面和目的页面不在同一个虚拟目录或其子目录下, 那么使用相对路径的图片、超链接都会导致错误的指向。 (7) 使用隐藏域,即Input(Hidden)控件 优点:实现简单,隐藏域是标准的HTML控件,不需要复杂的编程逻辑。隐藏域在 页面上存储和读取,不需要任何服务器资源,几乎所有浏览器和客户端设备都支 持具有隐藏域的窗体。 缺点:仅仅支持简单的数据结构,存储量少,因为它被存储在页面本身,所以无 法存储较大的值,而且大的数据量会受到防火墙和代理的阻止。安全性不高可能 被伪造。 (8) 将数据保存在数据库中 优点:稳定,安全 缺点:执行效率低。