.aspx中的QueryString问题 - 什么都没打印出来

时间:2010-05-05 08:30:24

标签: .net asp.net query-string inline-code

我需要在.aspx页面中打印出查询字符串值“?type = xxx”,为什么这不起作用:

<%= Request.QueryString("type") %>

虽然这样做:

<%= Request.QueryString(0) %>

第一个没有打印出来,第二个打印出预期的值,但它并不总是我想要的第一个值......

有什么想法吗?

我在IIS中的自定义错误选项卡上的404错误上重定向到“modrewrite.aspx”,然后根据要求的内容选择正确的页面。但是,奇怪的是它适用于索引值而非命名值...

我设法找出一个奇怪的解决方案; 如果我先放一个虚拟值,那么我可以按预期选择我的值。

这有效:“?dummy = value&amp; type = xxx” 现在我可以用&lt;%= Request.QueryString(“type”)%&gt;

收集值

4 个答案:

答案 0 :(得分:0)

这只是一个便宜的镜头。

尝试

<%= Request.QueryString["type"] %>

<%= Request.QueryString('type') %>

答案 1 :(得分:0)

我会解析代码隐藏中的值,对其执行任何安全检查以检查QueryString操作,然后将其设置为页面上Literal控件的Text属性。

lit1.Text = Request.QueryString["type"];

答案 2 :(得分:0)

在你的aspx中贴上标签:

<asp:Label ID="typeLabel" runat="server" />

并在您的代码中为其分配值:

protected void Page_Load(object sender, EventArgs e)
{
    typeLabel.Text = Request["type"];
}

如有必要,将代码改编为VB.NET

答案 3 :(得分:0)

我成功地解决了这个问题: 如果我先放一个虚拟值,那么我可以按预期选择我的值。

这有效:"?dummy=value&type=xxx"

现在我可以使用<%= Request.QueryString("type") %>

收集价值

有趣。