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

时间:2015-01-22 07:59:44

标签: javascript asp.net vb.net

我正在开发一个现有项目,并被要求提供一些新功能。我是VB.net的新手。

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

    <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>

此表由VB.net对数据库的调用填充。我将表格的每一行的ID设置为&#39;用户名和页面名称&#39;为行。

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

我希望用户能够点击表格的一行,然后使用新表格进入下一页。

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

为了做到这一点,下一页将调用数据库,并需要知道用户名和页面名称。

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

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

目前,这个onClick还会将用户引导到下一页,其中将显示新表格,如上所述。

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

我试过了:

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

但是这不会传递变量,而是实际文本&#39; UserID&#39;。

即使这确实有效,我怎么才能从JavaScript到VB页面。

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

1 个答案:

答案 0 :(得分:0)

由于UserID是变量

使用

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

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

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