Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/14.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
如何隐藏地址栏中显示为默认值的asp.net查询字符串。aspx?id=2&;name=sanjay_Asp.net_Vb.net_Visual Studio 2008_Query String - Fatal编程技术网

如何隐藏地址栏中显示为默认值的asp.net查询字符串。aspx?id=2&;name=sanjay

如何隐藏地址栏中显示为默认值的asp.net查询字符串。aspx?id=2&;name=sanjay,asp.net,vb.net,visual-studio-2008,query-string,Asp.net,Vb.net,Visual Studio 2008,Query String,可能重复: 如果要在查询字符串中隐藏传入参数的数据,如何隐藏地址栏中显示为默认值的asp.net查询字符串。aspx?id=2&name=sanjay 使用表格并发布信息。这可能需要在源页面中添加额外的代码,但不需要在目标页面中更改逻辑(只需将Request.QueryString更改为Request.Form)。虽然POST不是不可能处理的,但它肯定不如使用查询字符串参数那么吸引人 使用会话变量将信息从一页传送到另一页。与(1)相比,这可能是一项更大的工作,因为您需要考虑会话变量检查(例如,

可能重复:


如果要在查询字符串中隐藏传入参数的数据,如何隐藏地址栏中显示为默认值的asp.net查询字符串。aspx?id=2&name=sanjay

  • 使用表格并发布信息。这可能需要在源页面中添加额外的代码,但不需要在目标页面中更改逻辑(只需将Request.QueryString更改为Request.Form)。虽然POST不是不可能处理的,但它肯定不如使用查询字符串参数那么吸引人

  • 使用会话变量将信息从一页传送到另一页。与(1)相比,这可能是一项更大的工作,因为您需要考虑会话变量检查(例如,如果您经常检查状态,用户现在可能很难使用后退和前进按钮进行导航)。您还需要处理未启用会话cookie的情况(此解决方案不适用于这些人)

  • 在查询字符串中使用“编码”或非感官信息来代替真实数据。这将需要在所有页面提交的任一端创建编码和解码方案。当然,用户仍然可以试验和反向工程您的方案,但是他们不太可能快速对现有查询字符串进行有意义的更改

  • 使用框架集。我真的不推荐这种方法,尽管它很常见。如果您试图隐藏信息而不是使其更难修改,用户仍然可以右键单击各个帧并单击“属性”,以便检索通过QueryString传递的所有信息

  • 使用Server.Transfer将控件移动到第二个页面,该页面仍然可以访问传递到第一个页面的QueryString参数(该页面的URL仅短暂可见)


  • 如果要在查询字符串中隐藏传入参数的数据

  • 使用表格并发布信息。这可能需要在源页面中添加额外的代码,但不需要在目标页面中更改逻辑(只需将Request.QueryString更改为Request.Form)。虽然POST不是不可能处理的,但它肯定不如使用查询字符串参数那么吸引人

  • 使用会话变量将信息从一页传送到另一页。与(1)相比,这可能是一项更大的工作,因为您需要考虑会话变量检查(例如,如果您经常检查状态,用户现在可能很难使用后退和前进按钮进行导航)。您还需要处理未启用会话cookie的情况(此解决方案不适用于这些人)

  • 在查询字符串中使用“编码”或非感官信息来代替真实数据。这将需要在所有页面提交的任一端创建编码和解码方案。当然,用户仍然可以试验和反向工程您的方案,但是他们不太可能快速对现有查询字符串进行有意义的更改

  • 使用框架集。我真的不推荐这种方法,尽管它很常见。如果您试图隐藏信息而不是使其更难修改,用户仍然可以右键单击各个帧并单击“属性”,以便检索通过QueryString传递的所有信息

  • 使用Server.Transfer将控件移动到第二个页面,该页面仍然可以访问传递到第一个页面的QueryString参数(该页面的URL仅短暂可见)


  • 如果可能的话,您确实需要将数据直接发布到default.aspx。如果调用方是另一个页面,则web表单会有点不稳定,特别是如果您依赖于站点地图功能的话。在任何情况下,您都可以使用“跨页面发布”或“server.transfer”发布数据。将会话状态与重定向一起使用有点低效(对客户端来说是额外的往返),但通常是权宜之计。因此,例如,调用页面可能如下所示:

    网络表单(调用方):

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Click Me!</asp:LinkButton>
    
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session["id"] = 2;  // pull the data from the control or use OnCommand?
        Session["name"] = "Sanjay";
        Response.Redirect("~/Default.aspx");
    }
    
    Name: <%=_name %>
    <br />
    Id: <%= _id %>
    
    protected int? _id
    {
        get { return Session["id"] as int?; }
        set { Session["id"] = value; }
    }
    protected string _name
    {
        get { return Session["name"] as string; }
        set { Session["name"] = value; }
    }
    
    接收页面default.aspx如下所示:

    网络表单:

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Click Me!</asp:LinkButton>
    
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session["id"] = 2;  // pull the data from the control or use OnCommand?
        Session["name"] = "Sanjay";
        Response.Redirect("~/Default.aspx");
    }
    
    Name: <%=_name %>
    <br />
    Id: <%= _id %>
    
    protected int? _id
    {
        get { return Session["id"] as int?; }
        set { Session["id"] = value; }
    }
    protected string _name
    {
        get { return Session["name"] as string; }
        set { Session["name"] = value; }
    }
    

    祝你好运

    如果可能的话,您确实需要将数据直接发布到default.aspx。如果调用方是另一个页面,则web表单会有点不稳定,特别是如果您依赖于站点地图功能的话。在任何情况下,您都可以使用“跨页面发布”或“server.transfer”发布数据。将会话状态与重定向一起使用有点低效(对客户端来说是额外的往返),但通常是权宜之计。因此,例如,调用页面可能如下所示:

    网络表单(调用方):

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Click Me!</asp:LinkButton>
    
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session["id"] = 2;  // pull the data from the control or use OnCommand?
        Session["name"] = "Sanjay";
        Response.Redirect("~/Default.aspx");
    }
    
    Name: <%=_name %>
    <br />
    Id: <%= _id %>
    
    protected int? _id
    {
        get { return Session["id"] as int?; }
        set { Session["id"] = value; }
    }
    protected string _name
    {
        get { return Session["name"] as string; }
        set { Session["name"] = value; }
    }
    
    接收页面default.aspx如下所示:

    网络表单:

    <asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click">Click Me!</asp:LinkButton>
    
    protected void LinkButton1_Click(object sender, EventArgs e)
    {
        Session["id"] = 2;  // pull the data from the control or use OnCommand?
        Session["name"] = "Sanjay";
        Response.Redirect("~/Default.aspx");
    }
    
    Name: <%=_name %>
    <br />
    Id: <%= _id %>
    
    protected int? _id
    {
        get { return Session["id"] as int?; }
        set { Session["id"] = value; }
    }
    protected string _name
    {
        get { return Session["name"] as string; }
        set { Session["name"] = value; }
    }
    
    祝你好运