Классическая переменная строки запроса ASP установлена ​​и не установлена ​​

У меня есть этот код:

<%If CInt(Request.QueryString("OpenYouthHistory")) > 0 Then %>
<script>
    var yid = <% Request.QueryString("OpenYouthHistory") %>;
    window.open("YouthHistory.asp?YouthID=" + yid);
</script>
<% End If %>

Я хочу открыть страницу YouthHistory.asp во всплывающем окне, если OpenYouthHistory переменная строки запроса OpenYouthHistory . Однако когда я запускаю его со значением, скажем, 210, то я получаю этот вывод:

<script>
    var yid = ;
    window.open("YouthHistory.asp?YouthID=" + yid);
</script>

Что, конечно, является недопустимым JavaScript. Но почему переменная yid не получает значение? Если переменная строки запроса действительно пуста, почему <script> даже отображается? Я весьма озадачен...

Всего 1 ответ


Используйте <%= который является ярлыком для <% Response.Write

<%If CInt(Request.QueryString("OpenYouthHistory")) > 0 Then %>
<script>
    var yid = <%=Request.QueryString("OpenYouthHistory") %>;
    window.open("YouthHistory.asp?YouthID=" + yid);
</script>
<% End If %>

Есть идеи?

10000