В процессе разработки, чтобы удовлетворить требования клиентов, нам необходимо реализовать такую функцию: нажмите текстовую ссылку на странице А, чтобы перейти на страницу С, нажмите кнопку возврата, чтобы вернуться на страницу А, а страница Б также имеет текстовая ссылка, нажмите, чтобы войти. При возврате на страницу C происходит возврат на страницу B (на странице C может быть только одна кнопка возврата. По этой причине я подумал об использовании функции сеанса, которая должна записывать, на какую страницу вы перешли). при переходе на страницу C, а затем нажмите кнопку возврата. Оценивая содержимое сеанса, решите, следует ли вернуться на страницу A или страницу B.
Сначала добавьте код, чтобы получить путь к странице на двух страницах A и B. .
string url=Request.CurrentExecutionFilePath.ToString();
//Получаем текущую страницу Виртуальный путь
Session["URL"]=url;
Response.Redirect
("C.aspx",true);
строкавиртуального пути
предыдущей страницы через сеанс url=Session["URL"].ToString()
Поскольку первая половина виртуального пути двух страниц AB одинакова, фактически нам нужно только определить, является ли он «A.aspx» или «B.aspx». Поэтому мы сначала используем метод разделения, чтобы получить нужное имя страницы, а затем можем назначить имя метке и скрыть метку на странице (если вам нужно). используйте метку для сохранения имени страницы, зависит от ситуации).
string[] Split=url.Split(new char[] {'/'} );
int n=split.Length
;
Label1.Text=pathname;
Наконец, оцените событие ответа кнопки возврата, чтобы решить, какую страницу вернуть:
if (Label1.Text=="A .aspx")
Response.Redirect("A.aspx",true);
еще
Response.Redirect("B.aspx",true);