Использование Request.QueryString в блоке встроенного кода ASP.NET - PullRequest
0 голосов
/ 15 ноября 2018

Я пытаюсь передать параметр из одного файла в другой через URL после нажатия кнопки. Они написаны с помощью Express.js (index.ejs до items.ejs).

В настоящее время я устанавливаю параметр URL в определенной функции Javascript:

function loadItems(page, subcategory) {
    window.history.pushState(null, null, "?subcat=" + subcategory) //param set
    $('#mainContent').load(page);
}

где subcategory - переменная переменная.

Оттуда я пытаюсь прочитать этот параметр во время функции ASP.NET, записанной во встроенных блоках кода.

<% if(items[i].subcategory === Request.QueryString["subcat"].Value) { %> //get param
    <% if (items[i].status === "Supported") { %>
        <tr class="success">
            <td><a href="/items/edit/<%= items[i]._id%>" data-toggle="modal" data-target="#editModal">Edit</a></td>
            <td id="item name"><%= items[i].name%></td>
            <td id="subcat name"><%= items[i].subcategory%></td>
            <td id="item status"><%= items[i].status%></td>
            <td id="item desc"><%= items[i].description%></td>
        </tr>

Однако я столкнулся с ошибкой, в которой говорится Request is not defined, и с обратным вызовом вышеупомянутого оператора if. Насколько я понимаю, на стороне ASP.NET Request.QueryString является частью System.Web.HttpContext.Current.

Как бы я включил это в мои блоки кода, чтобы я мог извлечь параметр из URL? Или, если это не способ смотреть на эту проблему, как я должен идти об этом?

1 Ответ

0 голосов
/ 15 ноября 2018

Мой совет - использовать код позади. Внедренные блоки кода - это возврат старой школы со времен asp. Но если вам нужно, то вы сможете сделать что-то вроде этого:

<%@ Page Language="VB" %>
<script run=server>
    Protected Function GetSubcat() As String
      Return Request.QueryString["subcat"].Value
    End Function
</script>

<form id="form1" runat="server">
   Subcat value is <% =GetSubcat()%>.
</form>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...