我正在使用3.5framework中的两个asp.net webproject。
我已经使用Response.Redirect重定向到其他页面,使用查询字符串传递数据,它在同一个应用程序中工作正常,但是当我重定向到其他应用程序时,它给了我一个错误。 代码:
(同一项目的工作代码)
Response.Redirect("confirm_book.aspx?Data=" + Server.UrlEncode(txtfname.Text) + "&Data1=" + Server.UrlEncode(txtlname.Text));
(而不是在重定向到其他网站时使用代码)
Response.Redirect("http://abc.com/confirm_book.aspx?Data=" + Server.UrlEncode(txtfname.Text) + "&Data1=" + Server.UrlEncode(txtlname.Text));
(在confirm_book.aspx页面加载事件上)
string fname=Request.QueryString["Data"];
string lname=Request.QueryString["Data1"];
答案 0 :(得分:2)
确定您可以重定向到另一个应用程序。您需要指定绝对地址:
Response.Redirect("http://www.example.com/foo.aspx?Data=" + Server.UrlEncode(txtfname.Text));
答案 1 :(得分:0)
你能把你重定向的应用程序的Page_Load
的代码放到哪里吗?
我认为您正在尝试从URL中获取不存在的QueryString或NULL值。 您可能想先检查QueryString的值是否为NULL
if (Request.QueryString["Data"] != null){
string fname=Request.QueryString["Data"];
// do your logic here !
} else {
// the value is NULL , do error logic here
}
并使用每个QueryString进行此操作。