У меня есть поток, в котором у меня есть два адреса, но он выглядит как 3 разные страницы.
- Первая страница, eligibility.aspx (которая выглядит как две: Member
Поиск и результаты поиска участников). Результаты поиска участников могут
показать 0-много результатов.
- Вторая страница (третья в процессе)
/ Участники / член-деталь. Доступ к нему осуществляется после нажатия
участник с экрана результатов поиска участников
Что я хочу :
Я хочу, чтобы пользователи могли переходить с экрана 3 (сведения об участнике) к результатам поиска участников и даже к поиску участников. Но когда они возвращаются в Поиск участников, я хочу, чтобы любая информация, напечатанная в полях, исчезла.
Я попытался сделать это с кэш-памятью, но при переходе с экрана 3 на экран 2 произойдет сбой следующего:
Срок действия веб-страницы истек
Код: (eligibility / default.aspx.cs):
protected void Page_Load(object sender, EventArgs e) {
.....
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.Cache.SetExpires(DateTime.UtcNow.AddHours(-1));
Response.Cache.SetNoStore();
protected void lnkSearch_Click(object sender, EventArgs e)
{
ShouldSearch = false;
litError.Text = "";
ClearAllSearchInputVars();
// Member ID
if (!string.IsNullOrEmpty(tbSearchMemberID.Text))
Search_MemberID = tbSearchMemberID.Text;
tbSearchMemberID.Text = ""; // clear field after clicking search
protected void ClearAllSearchInputVars()
{
Search_MemberID = "";
Search_MemberFirstName = "";
Search_MemberLastName = "";
Search_DateOfBirth = "";
Search_Gender = "";
}
protected void LoadMember(string memberID, string memberSequenceID = null)
//protected void LoadMember(int memberID, string memberSequenceID=null)
{
tbSearchMemberID.Text = ""; //may just want to set text to Empty String like this
tbDateOfBirth.Text = "";
tbSearchMemberLastName.Text = "";
if (string.IsNullOrEmpty(memberSequenceID))
Response.Redirect(String.Format("/members/member-detail/{0}", memberID));
else
Response.Redirect(String.Format("/members/member-detail/{0}/{1}", memberID, memberSequenceID));
}
Я видел, что это использовалось в ряде решений для SO, так что, похоже, это должно быть то, что нужно. Могу ли я не использовать эту функцию кэширования, когда у меня есть несколько экранов на странице?