Проблема QueryString в .aspx - ничего не печатает - PullRequest
2 голосов
/ 05 мая 2010

Мне нужно распечатать значение строки запроса "? Type = xxx" внутри моей .aspx-страницы, почему это не работает:

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

Пока это происходит:

<%= Request.QueryString(0) %>

Первый ничего не печатает, второй печатает значение, как и ожидалось, но это не всегда первое желаемое значение ...

Есть идеи?

Я перенаправляю на «modrewrite.aspx» при 404 ошибках на вкладке «Пользовательские ошибки» в IIS, а затем подбираю правильную страницу в зависимости от того, что было запрошено. Однако странно, что он работает с индексированным и неименованным значением ...

Мне удалось найти странное решение; Если сначала я подставлю фиктивное значение, то смогу увеличить его, как и ожидалось.

Это работает: "? Dummy = value & type = xxx" Теперь я могу собрать значение с помощью <% = Request.QueryString ("type")%>

Ответы [ 4 ]

0 голосов
/ 05 мая 2010

Мне удалось выяснить это: Если сначала я подставлю фиктивное значение, то смогу повысить его, как и ожидалось.

Это работает: "?dummy=value&type=xxx"

Теперь я могу собрать значение с <%= Request.QueryString("type") %>

Интересно.

0 голосов
/ 05 мая 2010

Я бы проанализировал значение в своем коде позади, выполнил любые проверки на нем, чтобы проверить манипуляции QueryString, а затем установил для него свойство Text элемента управления Literal на странице.

lit1.Text = Request.QueryString["type"];
0 голосов
/ 05 мая 2010

В вашем aspx поставить ярлык:

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

и в своем коде за этим присвойте ему значение:

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

При необходимости адаптировать код к VB.NET

0 голосов
/ 05 мая 2010

Это просто дешевый выстрел.

Попробуйте

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

или

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