在QueryString中指定returnURL

时间:2016-06-23 14:15:27

标签: c# asp.net query-string returnurl

这可能是一个简单的问题但是我在查询字符串中遇到了回归问题。我知道如何将查询字符串中的returnurl调用到Response.Redirect中,但我不知道如何将returnurl设置为某个url。有人能给我一个如何做到这一点的例子吗?

2 个答案:

答案 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]