Это, вероятно, простой вопрос, но я боюсь с returnurl в querystring. Я знаю, как вызвать returnurl в querystring в Response.Redirect, но я не уверен, как установить returnurl на определенный URL-адрес. Может ли кто-нибудь дать мне пример того, как это сделать?Задайте returnURL В QueryString
ответ
У меня есть предложение для вас, я уверен, насколько это уместно для вашей ситуации.
Позвольте мне определить Статический Dictionary<string,string>
, чтобы сохранить некоторые ключи и соответствующие URL-адреса. Поскольку он статически определен, вы можете получить к нему доступ со всех других страниц, эта переменная получит область применения. то есть.,
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]
Вы можете сделать это в следующем:
var url = Request.Url.ToString();
var uri = String.Format("http://example.com?page={0}", url);
Response.Redirect(uri);
код довольно прямо вперед.
Вы должны будете закодировать URL-адрес, прежде чем делать это, чтобы убедиться, что специальные символы обрабатываются правильно. – Chris
что-то вроде [это] (http://www.dotnetperls.com/querystring) –
Немного сбивает с толку, не могли бы вы быть более конкретным –
Было бы странно, что вы хотел бы указать возвращаемый url в бэкэнд, когда это задача бэкэнда ответить на этот запрос url возврата .... –