这可能是一个简单的问题但是我在查询字符串中遇到了回归问题。我知道如何将查询字符串中的returnurl调用到Response.Redirect中,但我不知道如何将returnurl设置为某个url。有人能给我一个如何做到这一点的例子吗?
答案 0 :(得分:1)
你可以在下面这样做:
var url = Request.Url.ToString();
var uri = String.Format("http://example.com?page={0}", url);
Response.Redirect(uri);
代码很简单。
答案 1 :(得分:1)
我向你提出建议,我确定你的情况有多少。
让我定义一个静态Dictionary<string,string>
来保存一些关键和相应的网址。由于它是静态定义的,您可以从所有其他页面访问它,此变量将获得应用程序范围。即,
public static Dictionary<string, string> URLDictonary = new Dictionary<string, string>()
{
{"google","http://google.com/"},
{"dotnet","http://www.dotnetperls.com/"},
{"querystring","http://www.dotnetperls.com/querystring"}
};
这样您就可以将key
名称与URL作为查询字符串附加。它可能如下所示:
Response.Redirect("~/Somepage.aspx?returnURL=google");
// Which means you are passing the key as query string
现在,您可以在示例页面中获取此key
并根据密钥重定向到特定页面,如下所示:
string returnURL = Request.QueryString["returnURL"];
if (returnURL != null)
{
Response.Redirect(URLDictonary[returnURL]);
}
由于我们传递google
,它将重定向到相应的值,即。 "http://google.com/"
。
注意:您可以使用自己的密钥和网址创建类似的字典。如果它在不同的类中定义,则使用class_name.DictonaryName[querystring_value]