ASP.NET网页之间复杂参数传递方法
网页之间参数传递方法有许多种,今天我在这里不是讨论有多少种,而是讨论使用最基本的一种,使用它来传递参数。做到参数传递的灵活运用,使用这种最基本的方法,其实可以传递非常复杂的数据。
比如在a页面取得了初始日前和终止日前然后拼成这样的参数
tj= " rq>='2009-01-01' and rq<='2009-06-01‘ "
再送到b页面去作进行数据库查询的条件,最简单的办法就是使用最基本的参数传递方法
在a的代码中使用 Page.RegisterClientScriptBlock("Tj", "<script language=javascript>window.open('b.aspx?cs=" + tj + "')</script>")
在b页面中使用 Dim cs As String = Request.QueryString("cs") 来获取参数
代码 "select * from tb where " + cs 来使用参数
如果这样就可以,我就不要在这里讨论了,这样会出问题,tj参数中的" ' "无法被解析,所以参数不能被这样传递。所有你必须使用转义。
在VB.net中将tj改为如下即可:
tj= " rq>=\'2009-01-01\' and rq<=\'2009-06-01\‘ " 就可以了
在C#.net中将tj改为如下即可:
tj=@ " rq>=\'2009-01-01\' and rq<=\'2009-06-01\‘ " 就可以了
使用这种办法你可以构建非常复杂的参数并进行传递,也就是多个参数的组合传递。
这里仅是为了说明问题,举了这个例子,如果仅传递两个日期的话,还有别的办法或许更好。