Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/29.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 避免用户使用querystring访问页面的方法_C#_Asp.net_Webforms - Fatal编程技术网

C# 避免用户使用querystring访问页面的方法

C# 避免用户使用querystring访问页面的方法,c#,asp.net,webforms,C#,Asp.net,Webforms,我有一个页面,我希望在用户完成表单保存后可以访问该页面。我有一个Response.Redirect(“MyPage.aspx?queryStringParam=123”)(值根据字段选择进行更改) 在页面上,我进行了一次检查,以查看是否正在传递值,以及是否一切正常: if (Request.QueryString["queryStringParam"] != null) { int queryStringParam; if(int.TryParse(Request.QuerySt

我有一个页面,我希望在用户完成表单保存后可以访问该页面。我有一个
Response.Redirect(“MyPage.aspx?queryStringParam=123”)
(值根据字段选择进行更改)

在页面上,我进行了一次检查,以查看是否正在传递值,以及是否一切正常:

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,如果没有传递,它会将用户重定向到默认页面,但问题是,如果用户在url中键入queryStringParam,页面将被加载。我不想那样


是否有任何方法可以通过键入url阻止用户访问该页面,并且只能使用
响应来访问该页面。重定向

从保存表单的页面,在重定向到MyPage.aspx之前,在会话中存储一些内容。在MyPage.aspx中,首先检查会话值。如果没有上一页中设置的值,请将用户重定向到默认页。

否,这是不可能的。这是一个XY问题。解释此参数的用途和生成方式。此参数是保存后从数据库返回的ID。然后它重定向到另一个页面,以便能够向其中添加附件。但我希望只有在创建时才能访问它。不允许再次访问。那么,你所说的“XY问题”是什么意思?这就是诀窍。谢谢我还不能接受这个答案。5分钟后,如果有一种方法可以防止页面被访问而键入url,那就太好了。仅当请求来自服务器时才接受itself@FelipeDeguchi但是请求不是来自服务器。服务器向用户的浏览器发送响应,说“转到X”,然后用户的浏览器向服务器请求“X”。您能否编写一个简单的cookie并检查它是否存在?会话存储在服务器中。因此,检查会话变量意味着您正在验证它。