Jquery ASP.NET按钮未在IE上重定向
目前,我有一个按钮,在客户端单击时,运行jquery函数来更改(对用户隐藏)标签上的文本,然后单击第二个(对用户也隐藏)按钮。然后,第二个按钮运行ASP.NET函数,该函数的最后一个命令是重定向到第二个页面。我之所以需要这样做,是因为在重定向到第二个页面之前,我将标签的值(根据数据库动态分配)存储到会话变量中 这种方法在Chrome和Firefox上非常有效。尽管如此,它在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中似乎没有重定向。但是,它确实存储了会话变量(即,调用了处理隐藏按钮单击事件的子程序) 有人知道为什么会这样吗 非常感谢
编辑:我自己也试过点击隐藏按钮,但效果很好,所以第一个按钮的回发肯定会干扰第二个按钮调用的子程序。为什么要从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更改会话变量。太棒了。