使用 JavaScript 从 aspx 页面传递变量值到 VB.net 页面

Pass variable value from aspx page using JavaScript, to VB.net page

我正在处理现有项目,并被要求提供一些新功能。我是 VB.net.

的新手

我在 aspx 页面上创建了以下 HTML table:

    <asp:Repeater runat="server" id="DataGrid1" >

    <HeaderTemplate>
        <table id="pageviews" class="display">
            <thead>
            <tr>
                <th>
                    User ID
                </th>
                <th>
                    Page Name
                </th>
                <th>
                    Page Views
                </th>
            </tr>    
            </thead>        
    </HeaderTemplate>

        <ItemTemplate >
            <tr>
                <td onclick="fnGetID(id)" id="<%#Eval("page_name") %>|<%#Eval("user_id") %>">
                    <%#Eval("user_id") %>
                </td>
                <td onclick="fnGetID(id)" id="<%#Eval("page_name") %>|<%#Eval("user_id") %>">
                    <%#Eval("page_name")%>
                </td>
                <td onclick="fnGetID(id)" id="<%#Eval("page_name") %>|<%#Eval("user_id") %>">
                    <%#Eval("Count") %>
                </td>

            </tr>
        </ItemTemplate>

    <FooterTemplate >
        </table>
    </FooterTemplate>
</asp:Repeater>

此 table 由对数据库的 VB.net 调用填充。我将 table 的每一行的 ID 设置为该行的 'username and page name'。

table 显示用户名、页面名称和用户访问该特定页面的次数。

我希望用户能够单击 table 的一行,然后进入带有新 table 的下一页。

新的 table 将显示用户访问该特定页面的日期和时间。

为此,下一页将调用数据库,并且需要知道用户名和页面名称。

我有一个 JavaScript onClick 方法,它会在警告框中显示用户名和页面名称,用竖线分隔。方法如下:

    function fnGetID(pUserID) {
        alert(pUserID);
        window.location.href = 'IndividualView.aspx'
    }

目前,这个 onClick 还会将用户定向到下一页,新的 table 将在该页面显示,如上所示。

我的问题是,如何将变量传递到下一页,它必须在 VB.net 代码中结束,以便可以包含在查询中。

我试过:

window.location.href = 'IndividualView.aspx?field1=UserID'

但这不会传递变量,而是实际的文本'UserID'。

即使这确实有效,我又如何将它从 JavaScript 获取到 VB 页面。

我已经搜索过了,但是没有明确解决这个问题的方法。

因为UserID是一个变量

使用

window.location.href = 'IndividualView.aspx?field1=' + UserID;

在VB.NET中你需要使用HttpRequest.QueryString属性

Dim field1 As String = Request.QueryString("field1")