|
2006年12月20日
#
在ASP.net(VB)中一些JAVAScript的应用
例:
'确定提示框 Response.Write("<script language='javascript'>alert('用户名或密码不能为空!');</" & "script>")
'确认提示框 <script language="VB" runat="server"> sub Page_Load(Sender as object,e as EventArgs) '给enter按钮添加JavaScript事件 enter.Attributes.Add("onclick","JavaScript:return confirm('您真的要继续吗?');") End Sub sub Enter_Click(Sender as object,e as EventArgs) message.Text ="您输入的名字是" & txtUserID.Text End Sub </script> <html> <body> <form runat="server"> 请输入用户名<asp:TextBox id="txtUserID" runat="server"/> <asp:Button id="enter" Text="确定" OnClick="Enter_Click" runat="server"/> <asp:Label id="message" runat="server"/> </form> </body> </html>
'关闭窗口 Response.Write("<script language='javascript'>window.close();</" & "script>") '后退按钮 Response.Write("<script language='javascript'>history.go(-2);</" & "script>")
网页中的值的存储和传递方法
一.Request获得浏览器地址的参数
1.存储方法(浏览器地址的写法) http://www.baidu.com/cs.aspx?name=刘旭&Age=24
注意:%号不能传递,需要替换后传递,再在接收时替换回来 '把"%"替换为“~”来实现正常传递参数 strsql=replace(txtsql.text,chr(37),"~") '查询后返回查询第一页 Response.Redirect("Pf_search.aspx?Eflag="& Eflag &"&case="& strsql &"&PageIndex=1")
2.获取方法
Name=Request.QueryString(Name) Age=Request.QueryString(Age)
二.Httpcookie cookie的信息保存在用户的硬盘上,所以可以长期保存在客户端上.
1.存储方法(若指定了关键字,则该Cookie就是一个集合) 1)无关键字 Response.Cookies("user_name").value="刘旭" 2)无关键字 Response.Cookies("user")("name").value="刘旭" Response.Cookies("user")("age").value=24
2.获取方法 1)无关键字 user_name=Request.Cookies("user_name").Value 2)无关键字 user_name=Request.Cookies("user")("name") user_age=Request.Cookies("user")("age")
3.设置有效期(使用Cookie时,如不设置有效期,则关闭服务器后,该Cookie就失效了.设置成过去时间,立即失效) Response.Cookies("user_name").Expires=#1/1/2008#
三.Session对象 Session用来记录特定用户的信息,客户在该网站任何一个页面都可以存取Session信息,离开该网站后,信息消失. 工作原理:在客户端第一次访问一个应用程序时,自动产生一个长整数的SessionID,并把它存在Cookies中,再次访问时服务器会先检查SessionID,并返回SessionID对应的信息.如果客户端不支持Cookie,服务器会启用另一套更复杂的系统确保Session的正常运行.
1.存取方法(第一次赋值会自动创建,以后使用就像使用一个变量一样) Session("name")="刘旭" Session("Age")=22
name=Session("name") age=Session("Age")
存数组 Dim name(2) as string Dim user_name() as string name(0)="刘驰" name(1)="刘旭" Session("name")=name
user_name=Session("name")
2.失效时间 打开一个浏览器窗口后,就会创建一个Session,如果长时间(默认20分钟)没有和服务器交互(比如开着计算机走了),或着关闭浏览器,则该Session就会自动结束.
'将有效期改为90分钟 Session.Timeout=90
四.Application对象 Application对象用来保存所有用户的公共信息,而且它是一直存在的,直到服务器重启后,它才会消失掉.
1.存取方法 因为任何用户都可以存取Application对象,为了防止几个用户同时更改,就要用到Lock和Unlock. Application.Lock Application("name")="刘旭" Application.Unlock
name=Application("name")
存取数组 Dim name(2) as string Dim user_name() as string name(0)="刘驰" name(1)="刘旭" Application("name")=name
user_name=Application("name")
统一配置数据库的方法
一.Web.config(应用方便,安全性差) 1.Web.config文件 <appSettings> <add key="strconn" value="server=localhost;database=dlcusmgt;uid=sa;pwd="/> </appSettings>
2.调用文件 dim strconn as string strconn= System.Configuration.ConfigurationSettings.AppSettings("strconn")
<appSettings> 元素是 <configuration> 元素的直接子级,并且是 <system.web> 元素的对等项。 此元素用于自定义应用程序设置。
作为安全措施,只能通过编程方式读取 Web.config 文件的 <appSettings> 元素。可以读取配置设置,但无法以编程方式写入配置设置.应通过使用 Windows 安全设置限制可以读取配置文件的人士,在服务器上保护该配置文件。通常,应不允许应用程序级别进程来写入该文件。
避免在配置文件中存储敏感信息,例如用户凭据。尽管可以使用 Window 安全性保护该文件,但它是在文本格式下有效的 XML 文件。
二.Global.asax(安全性高,但每次更改配置后需要编译,麻烦)
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) ' 在会话启动时激发 Application("conn") = "server=localhost;database=dlcusmgt;uid=sa;pwd=" End Sub
三.XML+Global.asax(使用方便,安全性高)
1.XML(database.xml)
<?xml version="1.0" encoding="utf-8" ?> <sqlconn> <conn> <str>server=localhost;database=dlcusmgt;uid=sa;pwd=</str> </conn> </sqlconn>
2.Global.asax
Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs) ' 在会话启动时激发 '把数据库的资料载入Application,这样就把数据库的连接字符串存储在内存中,除非重新启动应用程序,否则数据库的连接字符串不会消失,这样Database.xml就可以删除掉,只有重新启动应用程序时才需要它. If File.Exists(Server.MapPath("database.xml")) Then '判断文件是否存在 Dim ds As New DataSet ds.ReadXml(Server.MapPath("database.xml")) Application.Lock() Application("conn") = ds.Tables(0).Rows(0).Item(0) Application.UnLock() End If End Sub
防止有人故意在表单中输入SQL命令,使程序判断出错.
例: '替换登陆名中的单引号和双引号
Dim UserID, UserPWD As String UserID = txtUid.Text UserPWD = txtPwd.Text UserID = Replace(UserID, Chr(39), "'") UserID = Replace(UserID, Chr(34), """) UserPWD = Replace(UserPWD, Chr(39), "'") UserPWD = Replace(UserPWD, Chr(34), """)
MD5和SHA1算法对数据进行加密
例: 'MD5加密 Dim UserPWD as String UserPWD = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(UserPWD, "MD5")
'SHA1加密 UserPWD = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(UserPWD, "SHA1")
很高兴能加入大连.NET俱乐部,这是我第一次写博客,当程序员也是个新手,总结起来就是一个“菜”字,希望博客园的前辈多多照顾!
|