Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery ASP.NET按钮未在IE上重定向_Jquery_Asp.net_Vb.net_Internet Explorer_Button - Fatal编程技术网

Jquery ASP.NET按钮未在IE上重定向

Jquery ASP.NET按钮未在IE上重定向,jquery,asp.net,vb.net,internet-explorer,button,Jquery,Asp.net,Vb.net,Internet Explorer,Button,目前,我有一个按钮,在客户端单击时,运行jquery函数来更改(对用户隐藏)标签上的文本,然后单击第二个(对用户也隐藏)按钮。然后,第二个按钮运行ASP.NET函数,该函数的最后一个命令是重定向到第二个页面。我之所以需要这样做,是因为在重定向到第二个页面之前,我将标签的值(根据数据库动态分配)存储到会话变量中 这种方法在Chrome和Firefox上非常有效。尽管如此,它在IE中似乎没有重定向。但是,它确实存储了会话变量(即,调用了处理隐藏按钮单击事件的子程序) 有人知道为什么会这样吗 非常感谢

目前,我有一个按钮,在客户端单击时,运行jquery函数来更改(对用户隐藏)标签上的文本,然后单击第二个(对用户也隐藏)按钮。然后,第二个按钮运行ASP.NET函数,该函数的最后一个命令是重定向到第二个页面。我之所以需要这样做,是因为在重定向到第二个页面之前,我将标签的值(根据数据库动态分配)存储到会话变量中

这种方法在Chrome和Firefox上非常有效。尽管如此,它在IE中似乎没有重定向。但是,它确实存储了会话变量(即,调用了处理隐藏按钮单击事件的子程序)

有人知道为什么会这样吗

非常感谢你的帮助!我真诚地感谢任何意见


编辑:我自己也试过点击隐藏按钮,但效果很好,所以第一个按钮的回发肯定会干扰第二个按钮调用的子程序。

为什么要从ASP.net函数重定向?您是否使用jqueryajax来执行该函数?我认为最好的选择是调用jQuery Ajax函数,该函数在会话中存储您的值,然后(同样在javascript代码中)执行重定向:

document.location='your_new_url.aspx'

希望有帮助

试试这个:

在javascript代码中:

$.ajax({
    type: "POST",
    url: "yourPageName.aspx/SetSession",
    data: "{value: '" + the_session_value_you_want_to_store + "'}",
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (response) {
        if(response.d.length==0) {
            //all was OK, redirect
            document.location = 'your_new_url.aspx';
        } else {
            //mmmm some error
            alert(response.d);
        }
    },
    error: function(msg) {
        alert(msg);
    }
});
在VB.net代码中:

<WebMethod()> _
Public Shared Function SetSession(ByVal value As String) As String
    Dim output As String = String.Empty
    Try
        HttpContext.Current.Session("your_session_variable_name") = value
    Catch ex As Exception
        output = ex.ToString()
    End Try

    Return output
End Function
_
公共共享函数SetSession(ByVal值作为字符串)作为字符串
Dim输出为String=String.Empty
尝试
HttpContext.Current.Session(“您的会话变量名称”)=值
特例
输出=例如ToString()
结束尝试
返回输出
端函数
如果在编写服务器代码时看不到该属性,请将此导入添加到页面: 导入System.Web.Services


希望能有所帮助。

我不知道如何使用AJAX设置会话变量:您使用的是哪种服务器语言,C#还是VB?VB.NET。我甚至不知道可以从jquery更改会话变量。太棒了。