第一题
答:1、response.redirect:这个跳转页面的方法跳转的速度不快,因为它要走2个来回(2次postback),但他可以跳 转到任何页面,没有站点页面限制(即可以由雅虎跳到新浪),同时不能跳过登录保护。但速度慢是其最大缺陷!
redirect跳转机制:首先是发送一个http请求到客户端,通知需要跳转到新页面,然后客户端在发送跳转请求到服务器端。需要注意的是跳转后内部空间保存的所有数据信息将会丢失,所以需要用到session。顺便提一下,如何使用redirect方法在查询字符串中使用汉字,因为经常的情况是出现乱码,原因是url不支持汉字。这个时候需要转换:string message =server.urlencode("欢迎来到微尘里博客");
先转换,在使用查询字符串:response.redirect("webform2.aspx?msg="+message);
2、server.transfer:速度快,只需要一次postback ,但是……他必须是在同一个站点下,因为它是server的一个方法。另外,他能跳过登录保护。
你可以写个小程序试试:设计一个由页面一到页面二的跳转,但要进入到页面二需要登录,form认证,但如果跳转语句使用transfer的话,那就不会弹出登录页面了。这个方法的重定向请求是发生在服务器端,所以浏览器的url地址仍然保留的是原页面的地址!
3、sever.execute:这个方法主要是用在页面设计上面,而且他必须是跳转同一站点下的页面。这个方法是需要将一个页面的输出结果插入到另一个aspx页面的时候使用,大部分是在表格中,将某一个页面类似于嵌套的方式存在于另一页面。
4、◆ 如果要让用户来决定何时转换页面以及转到哪一个页面,超级链接最适合。如果要用程序来控制转换的目标,但转换的时机由用户决定,使用Web服务器的HyperLink控件,动态设置其NavigateUrl属性。
5、◆ 如果要把用户连接到另一台服务器上的资源,使用Response.Redirect。用Response.Redirect把用户连接到非ASPX的资源,例如HTML页面。如果要将查询字符串作为URL的一部分保留,使用Response.Redirect。
6、◆ 如果要将执行流程转入同一Web服务器的另一个ASPX页面,应当使用Server.Transfer而不是Response.Redirect,因为Server.Transfer能够避免不必要的网络通信,从而获得更好的性能和浏览效果。
第二题
答:利用页面跳转和托控件的方式可以完成一个小网站的制作。
第三题
答:
步骤/方法
-
打开Visual Studio工具,工具界面如下(没有使用过编程的朋友们可以看看):【】
- 打开【文件】---【新建】---【项目】出现如下框:
-
在出现的框中在框里选择window C# 再选择windows窗体应用程序,在名称里输入:MyStudentSys(我这里要做高校学生管理系统),这个名字自己可以根据需要起,尽量要有意义,下面的位置是自己保存项目文件的的目录,这里我放在E盘。整体界面如下:
-
点击确定后就出现了,第一个窗体程序,我们就是在这个窗体里实现登录功能和制作美丽的登录界面,第一个form程序如下图form1窗体:
- 我们就是在这什么都没有的窗体上添加我们自己需要的东西,首先我们修改下这个窗体的名称改为:学生管理系统登录(修改的具体步骤在图下面),再添加个Icon图片,就是标题前面的图片(图下面有详细的步骤),修改之前需要打开form1窗体的属性,步骤:右键点击,点击属性,就会出现属性框如下图:看到这个框就找到了,窗体程序的属性,我们很多地方要使用这里,修改标题的步骤,找到Text属性就是上面图片蓝色的部分,把form1改为:学生管理系统登录。找到Icon 在其后点击,选择我们事先准备好的ICON图片(非必须,软件默认的也有,为了美观自己可以添加修改)修改好后我们就实现了如下的界面。
-
好了简单的界面就这做好了,剩下就是添加我们需要的东西了,并且实现登录功能,这需要使用控件,在软件左边打开工具箱,如果找不到,就点击软件视图,找到工具箱,点击就可以出现了。我们主要使用这几个控件 button(按钮控件),label(标签),textbox(文本框),combobox(组合框)这些控件在工具箱可以找到,工具箱如下图:
-
点击选择label(标签)把他拖到form1窗体里合适的位置,然后在属性框里找到txet在其后把label1修改为:登录名,同理再拖2个标签控件,分明把Text属性值修改为: 密码,登录类型,再在工具箱里拖两个textbox到form1窗体合适的位置,同理再拖combobox空间到窗体里,最后实现如下的效果,如果没有实现就在工具箱里看看选择的控件对不对,别忘了把标签(label)的TEXT属性值改为汉字,还有buttn 按钮的控件Text也要改为汉字,即登录和取消。如果标签(label)有背景颜色,找到backcolor属性修改为无色,控件的大小自己可以拖动,设为自己看着合适美观的效果,最后修改显示的效果如下图:
-
是不是发现和最上面做好的相比没有标题,我们可以再从工具箱里托一个label 表填,在Text属性里输入:高校学生管理系统, 把文字设为大一点,设置字体可以找到属性font 点击选择相应的大小和字体类型,最后实现如下图的效果:
-
界面做好了,点击软件的运行调试按钮看看效果:软件运行按钮:运行后,看看是不是弹出一个登录框,但是你点击登录是不是没有反应,别急,现在还没有给窗体写事件,运行结果如图:
-
点击关闭,点击菜单栏 【调试】--观察下是否还在调试,如果在调试,就停止调试,截下来我们要写事件了,就是要实现登录的功能,首先再重新创建一个主窗口,就是等会我们登录成功了要跳转到那个主窗体,登录窗体关闭。创建主窗体步骤:在视图里找到解决方案资源管理器,右击解决方案MyStudentSys ,点击添加,再点击新建项,选择Visual C#项,选择window窗体,点击确定就好了,有创建一个窗体,在窗体里随便拖进今个控件,验证等下我们是否登录进来,如下如下图:
-
等下如果登录成功就进入这个窗体界面,不成功,不让登录,现在双击点击登录界面的登录按钮,后显示如下如,并在代码 { } 里写入下面的代码:
string name = "admin";
string pass = "0000";
if(name==textBox1.Text.Trim()&&pass==textBox2.Text.Trim())
{
Form2 form=new Form2();
form.Show();
this.Hide();
}
点击运行下面我们创建 取消 按钮时间,即点击取消,就退出程序。双击取消按钮,在{} 里写上下面的代码:Application.Exit();调试看看,在输入框里登录名输入 admin 密码 :0000点击登录看能不能进入,Ok ,我测试成功。 -
点击运行测试下。OK,可以调用主窗体,如果没有调用,看看是不是代码写错了,重新检查下。就这样,一个美丽的登录界面和实现登录的功能就实现了,这只是简单的功能,更多的功能自己接触摸索下软件,慢慢体会,时间长了,就摸索出来了。
第四题
答:让同学们多自己进行操作,不懂得问老师或百度一下,因为自己操作的能力远远不够。。。