2015-08-25 4 views
4

Я хочу, чтобы заменить строку запроса на моей странице, как this-Заменить строки запроса страницы

во-первых, я перейти на эту страницу при нажатии на панели меню Items, установив этот url- Response.Redirect ("SearchtWorkForceReport ? .aspx страница = Поиск ");

, то я хочу, чтобы изменить URL, как this-

"SearchtWorkForceReport.aspx? Страница = Поиск" в "SearchtWorkForceReport.aspx? Страница = Edit" на событии проверки изменений коробки. Я стараюсь это code-

string strQueryString = Request.QueryString.ToString(); 
if (strQueryString.Contains("page")) 
{ 
    strQueryString = strQueryString.Replace("Search", "Edit"); 
} 

, и он будет заменить строку запроса, но при загрузке страницы, если я строка запроса должна дать снова предыдущий набор строк.

type = Request.QueryString["page"].ToString(); 

ответ

0

Строки запроса предоставлены вашими клиентами, изменение вашей копии на стороне сервера не имеет никакого эффекта.

Вы должны перенаправить клиента на новый URL-адрес с новой строки запроса:

Response.Redirect("SearchtWorkForceReport.aspx?page=Edit"); 
+0

Сэр, я не хочу, чтобы перенаправить страницу, Возможно ли это изменить или получить новый строка без перенаправления. – Abhishek

1

Вы не можете редактировать строку запроса страницы путем редактирования Request.QueryString. вы должны перенаправить на текущую страницу. используйте код ниже:

if (Request.RawUrl.Contains("page")) 
{ 
    Response.Redirect(Request.RawUrl.Replace("Search", "Edit")) 
} 
+0

Сэр. Я пытаюсь использовать тот же код, и он должен работать, но не получить новую строку запроса при загрузке страницы. – Abhishek

+0

Имеет ли ваш url '' '' '' '' и '' Search "'? –

+0

я, мой URL выглядит следующим образом - SearchtWorkForceReport.aspx страница = Поиск и я хочу изменить как this- SearchtWorkForceReport.aspx страница = Редактировать – Abhishek

0

Из вашего вопроса я понимаю, это вы пытаетесь изменить строку запроса в случае проверки изменений окна на второй странице. так написать этот код в случае изменения Флажок

Response.Redirect("SearchtWorkForceReport.aspx?page=Edit"); 

и загрузки страницы проверки строки запроса

string type = Request.QueryString["page"].ToString(); 
if(type=="Edit") 
{ 
//what you want to do? 
} 
+0

Сэр, я не хочу перенаправлять всю страницу. – Abhishek

+0

Request.QueryString ["page"] = Ошибка «Редактировать». Коллекция доступна только для чтения. – Abhishek

+0

'Изменение строки запроса текущего запроса не поддерживается. Использование private Reflection для редактирования некоторого состояния в памяти, скорее всего, приведет к разрыву ASP.NET, поскольку предполагает, что строка запроса является неизменной. Единственный способ изменить строку запроса - это выдать новый запрос, выполнив переадресацию или выполнив какой-то подзапрос, например, сделав новый HTTP-запрос на ту же страницу, но с другой строкой запроса. ' – shreesha

Смежные вопросы