我有一个页面,我希望在用户完成保存表单时访问该页面。我有一个Response.Redirect("MyPage.aspx?queryStringParam=123")
(基于字段选择的值chages)。
在页面上,我检查是否正在传递值并且一切正常:
if (Request.QueryString["queryStringParam"] != null)
{
int queryStringParam;
if(int.TryParse(Request.QueryString["queryStringParam"], out id))
{
hfQueryStringParam.Value = queryStringParam.ToString();
}
else
{
Response.Redirect(ResolveUrl("~/Default.aspx"));
}
}
else
{
Response.Redirect(ResolveUrl("~/Default.aspx"));
}
如果用户尝试键入页面,它会检查queryString,如果没有传递,它会将他重定向到默认页面,但是问题是,如果他将queryStringParam键入url ,页面将加载。我不希望这种情况发生。
有没有办法阻止用户通过输入网址访问该网页,只能通过Response.Redirect
访问该网页?
答案 0 :(得分:2)
从保存表单的页面,在重定向到MyPage.aspx之前的会话中存储一些内容。在MyPage.aspx中首先检查会话值。如果它没有您从上一页设置的值,请将用户重定向到默认页面。