刘旭

  博客园 :: 首页 :: 联系 :: 订阅 订阅 :: 管理
  10 Posts :: 0 Stories :: 5 Comments :: 0 Trackbacks

公告

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>")
posted @ 2006-12-20 15:56 刘旭 阅读(130) 评论(0) 编辑

网页中的值的存储和传递方法

一.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")


posted @ 2006-12-20 15:54 刘旭 阅读(87) 评论(0) 编辑

统一配置数据库的方法

一.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
posted @ 2006-12-20 15:52 刘旭 阅读(151) 评论(0) 编辑

防止有人故意在表单中输入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), """)
posted @ 2006-12-20 15:50 刘旭 阅读(204) 评论(1) 编辑

MD5和SHA1算法对数据进行加密


例:
'MD5加密
Dim UserPWD as String
UserPWD = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(UserPWD, "MD5")

'SHA1加密
UserPWD = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(UserPWD, "SHA1")
posted @ 2006-12-20 15:47 刘旭 阅读(676) 评论(0) 编辑

很高兴能加入大连.NET俱乐部,这是我第一次写博客,当程序员也是个新手,总结起来就是一个“菜”字,希望博客园的前辈多多照顾!
posted @ 2006-12-20 09:43 刘旭 阅读(41) 评论(0) 编辑