Request.QueryString("Destpage")>4是什么意思?

salecn 2010-07-16 10:27:04
trans.asp和asptoaspx.aspx主要是想在asp和asp.net混用时解决session的问题。
请问trans.asp第26行 Request.QueryString("Destpage")>4是什么意思,它有什么目的啊?它从哪儿的地址栏去接收变量啊?
另外 trans.asp第最后一行 Response.Write("<scr" + "ipt>frm.submit();</scr" + "ipt>") 中的 scr 和 ipt是什么意思啊?

请帮忙解释一下。
(原文摘自 http://hi.baidu.com/xhxe/blog/item/408b424ae34b012a08f7efc6.html)

trans.asp代码

<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<%

''----------测试数据--------
session("name")="srx"
session("id")="1"
session("sex")="f"
session("pass")="asdfas"
session("age")="23"
session("weight")="131"
''--------------------------

Response.Write("<form name=frm id=frm action=""asptoaspx.aspx"" method=post >")

for each Item in Session.Contents
Response.Write("<input type=hidden name="&Item& " value="&session(item)&">")
Next


if len(Request.QueryString("Destpage")) >4 Then
Response.Write("<input type=hidden name=DestPage value=" & Request.querystring("DestPage") & ">")
end If


Response.Write("</FORM>")
Response.Write("<scr" + "ipt>frm.submit();</scr" + "ipt>")
%>



<body>
</body>
</html>




asptoaspx.aspx代码


using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace WebApplication1
{
public partial class asptoaspx : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

Session.Timeout = 60;

for(int i=0;i<Request.Form.Count;i++)
{
  Session[Request.Form.GetKey(i)]=Request.Form[i].ToString();
}

allsession(); //输出所有的Session,使用时可注释掉

try
{
if( Session["DestPage"].ToString().Length >4 )
{
  Server.Transfer(Session["DestPage"].ToString(),true);
}
}
catch {}

}
private void allsession()
{
Response.Write ("There are " + Session.Contents.Count +" Session <I>var</I>iables<P>");

foreach(object obj in Session.Contents)
{
  Response.Write("Session["+obj.ToString()+"] - "+Session[obj.ToString()].ToString()+"<br>");//输出所有的Session,使用时可注释掉
}
}





}
}


...全文
43 点赞 收藏 2
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
yudoggy 2010-07-16
没仔细看 漏了一个
Response.Write("<scr" + "ipt>frm.submit();</scr" + "ipt>")
是为了拼出一个script标签 "<scr" + "ipt>" = "<script>"

至于为什么这么写
我知道的是貌似直接用document.write("<script>")这样的代码会被禁止
但不知道是否asp代码也有类似的限制
回复
yudoggy 2010-07-16
由这句
Server.Transfer(Session["DestPage"].ToString(),true);
可以看出DestPage变量是指aspx接收到asp传过来的session之后,再跳转到DestPage变量指定的页面

我猜判断该变量长度是为了做一个简单的验证,因为querystring是可以手动修改
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告