繁体   English   中英

ASP.NET中的Request.QueryString和OutputCache

[英]Request.QueryString and OutputCache in ASP.NET

我在Request.QueryString上返回空值时遇到问题。 我认为这是从OutputCache

我在Default.aspx中(带有主文件)

<%@ OutputCache Duration="60" VaryByParam="button" %>

<script runat="server">
   protected void Page_Load( object sender, EventArgs e ) {
      TimeMsg.Text = DateTime.Now.ToString( "G" );
      string v = Request.QueryString["button"];
      PageName.Text = v;
   }
</script>

<form method="get" action="Default.aspx">
   <h5>Click a button</h5>
   <input type="submit" name="button" value="One" />
   <input type="submit" name="button" value="Two" />
   <input type="submit" name="button" value="Three" />
   </form>



   <p>Page generated at : <asp:Label ID="TimeMsg" runat="server"></asp:Label></p>
   <p>Page name : <asp:Label ID="PageName" runat="server"></asp:Label></p>

我不再写<asp:Content ID='' ...></asp>标记。

当我按下按钮之一时,PageName返回空,我用Debugger检查了v变量,然后看到它返回null。

为什么呢

如果您更改Request.QueryString["button"]; Request.Form["button"]; 您将获得预期的输出。 这可能是由于母版页中的Form

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM