首页上一页 1 下一页尾页 4 条记录 1/1页
网页跳转并传值引起的问题
发表在ASP.NET图书答疑
2008-09-19
是否精华
是
否
版块置顶:
是
否
我是学习《ASPNET2.0入门到精通》做练习的时候遇到的问题,关于网页跳转并传值的问题。
我想这么做:在网站主页“A.aspx”上点击一个按钮“购买”,判断用户是否登录,如果没有登录就记录下该页的URL,跳转到登陆页“login.aspx”,填写用户名和密码正确后点击“登录”按钮,自动跳转回“A.aspx”页。
***********************************************************************
A.aspx页上的关键代码:“购买”按钮代码:
protected void btnBuy_Click(object sender, EventArgs e)
{ string CurrentUrl = this.Request.CurrentExecutionFilePath;//获取当前页的URL
if (Session["UserName"] == null){
Response.Write("<script>alert('登录后选购商品');window.open('login.aspx?ToUrl= "+ CurrentUrl + "')</script>");
}
}
***********************************************************************
login.aspx页关键代码:
static string turnUrl = "login.aspx";
protected void Page_Load(object sender, EventArgs e)
{
if (Request["ToUrl"] != null)
{
turnUrl = Request["ToUrl"];
Response.Write(turnUrl);
}
}
"登录"按钮代码:
protected void btnLogin_Click(object sender, EventArgs e)
{
Response.Redirect(turnUrl);
}
问题1是:我每次跳转的时候只想在界面上留下一个网页,即调整后的新网页,应该怎么写内容。
问题2是:ToUrl= "+ CurrentUrl + "'与ToUrl="+CurrentUrl+"'有多少区别,主要是"+"和"+ CurrentUrl + "'中间是否该有空格,"+"与CurrentUrl之间是否该有空格,影响有多大,我曾经因为ToUrl= "+ CurrentUrl + "'的写法,导致从login.aspx返回不到index.aspx,错误信息是:
“无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL: /Tangmi/ /Tangmi/index.aspx”
后来我将ToUrl= "+ CurrentUrl + "'写成ToUrl="+CurrentUrl+"'问题就解决了,但是我不知道原理是什么?
问题3:login.aspx页关键代码:中 static string turnUrl = "login.aspx";如果不加关键字"static"是否对登录并转回前一网页有严重影响?
我想这么做:在网站主页“A.aspx”上点击一个按钮“购买”,判断用户是否登录,如果没有登录就记录下该页的URL,跳转到登陆页“login.aspx”,填写用户名和密码正确后点击“登录”按钮,自动跳转回“A.aspx”页。
***********************************************************************
A.aspx页上的关键代码:“购买”按钮代码:
protected void btnBuy_Click(object sender, EventArgs e)
{ string CurrentUrl = this.Request.CurrentExecutionFilePath;//获取当前页的URL
if (Session["UserName"] == null){
Response.Write("<script>alert('登录后选购商品');window.open('login.aspx?ToUrl= "+ CurrentUrl + "')</script>");
}
}
***********************************************************************
login.aspx页关键代码:
static string turnUrl = "login.aspx";
protected void Page_Load(object sender, EventArgs e)
{
if (Request["ToUrl"] != null)
{
turnUrl = Request["ToUrl"];
Response.Write(turnUrl);
}
}
"登录"按钮代码:
protected void btnLogin_Click(object sender, EventArgs e)
{
Response.Redirect(turnUrl);
}
问题1是:我每次跳转的时候只想在界面上留下一个网页,即调整后的新网页,应该怎么写内容。
问题2是:ToUrl= "+ CurrentUrl + "'与ToUrl="+CurrentUrl+"'有多少区别,主要是"+"和"+ CurrentUrl + "'中间是否该有空格,"+"与CurrentUrl之间是否该有空格,影响有多大,我曾经因为ToUrl= "+ CurrentUrl + "'的写法,导致从login.aspx返回不到index.aspx,错误信息是:
“无法找到资源。
说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。
请求的 URL: /Tangmi/ /Tangmi/index.aspx”
后来我将ToUrl= "+ CurrentUrl + "'写成ToUrl="+CurrentUrl+"'问题就解决了,但是我不知道原理是什么?
问题3:login.aspx页关键代码:中 static string turnUrl = "login.aspx";如果不加关键字"static"是否对登录并转回前一网页有严重影响?