Abrar Kazi Ответов: 2

Как удалить строку запроса после ее однократного использования ?


У меня есть URL-адрес следующим образом :

http://localhost:61159/Pages/Dashboard.aspx?id=1

Теперь, когда я приземляюсь на страницу приборной панели с указанным выше url-адресом . я буду использовать идентификатор строки запроса для какой-то цели, и как только я закончу его использовать . Я хочу удалить строку запроса без перезагрузки страницы.

http://localhost:61159/Pages/Dashboard.aspx

Что я уже пробовал:

Я думал использовать метод POST для передачи url-адреса .

2 Ответов

Рейтинг:
17

F-ES Sitecore

Вы можете использовать javascript для манипулирования историей

<script type="text/javascript">
    window.history.pushState(null, null, '<%=Request.Url.LocalPath%>');
</script>



Однако вы, вероятно, захотите запустить этот код только в том случае, если в запросе действительно есть парам. Это единственное реальное решение, но оно, очевидно, требует js и не удаляет старый url-адрес, а просто вводит новый шаг в историю, чтобы пользователь мог "вернуться назад", чтобы увидеть исходный url-адрес с идентификатором (и, конечно же, обновить, изменить идентификатор и т. д.).

Я собираюсь предположить, что вы действительно хотите передать данные по url-адресу, которые пользователь никогда не увидит или не сможет изменить, но я боюсь, что это просто невозможно.

Вещи, на которые вы не должны тратить время / The ASP.NET форумы[^]


Abrar Kazi

Спасибо :)

Рейтинг:
11

Karthik_Mahalingam

Это не идеальное решение, но оно будет работать
используйте приведенную ниже логику и попробуйте

protected void Page_Load(object sender, EventArgs e)
{

    string id = Request.QueryString["id"];
    if (!string.IsNullOrEmpty(id))
    {

        Session["id"] = id;
        Response.Redirect("WebForm1.aspx");

    }
    else
    {
        id = Convert.ToString( Session["id"]);

    }
}


Abrar Kazi

Спасибо Картик

Karthik_Mahalingam

добро пожаловать Абрар