Jquery 页面url在重定向时未更改
我在母版页中有一个jquery弹出式登录,其中包含contentPage url Category.aspx 我已经用代码编写了Jquery 页面url在重定向时未更改,jquery,asp.net,jquery-mobile,Jquery,Asp.net,Jquery Mobile,我在母版页中有一个jquery弹出式登录,其中包含contentPage url Category.aspx 我已经用代码编写了 public void Ligin_Click( object sender,EventArgs e) { string Ret = objLogin.LoginValidate( txtSignInEmail.Text.Trim(),
public void Ligin_Click( object sender,EventArgs e)
{
string Ret = objLogin.LoginValidate(
txtSignInEmail.Text.Trim(),
txtSignInPass.Text.Trim());
if (Ret == "1")
{
Response.Redirect("~/Mobile/Home.aspx?");
}
}
但是,Response.Redirect
在我写这篇文章时不起作用
Response.Redirect("~/Mobile/Home.aspx?",false);
它工作得很好。但是页面url并没有改变,它仍然是以前的页面url
Category.aspx
Home.aspx上的链接按钮不工作,引发异常。
回发或回调参数无效。使用启用事件验证
<pages enableEventValidation="true"/>
在配置上或
<%@Page EnableEventValidation="true" %> in a page.
页面中的。
出于安全目的,此功能验证回发或回调的参数是否正确
事件源于最初呈现它们的服务器控件。如果数据有效且符合要求,请使用 ClientScriptManager.RegisterForEventValidation 方法以注册回发或回调数据以进行验证
当我手动键入url“home.aspx”时,它工作正常。jQuery Mobile和asp.net web表单基本上不能一起工作。回发模型与jquerymobile的ajax表单加载和导航不兼容。移动到MVC或关闭ajax 确保在jQuery Mobile初始化之前调用此代码。(将其包含在引用jQuery Mobile的
标记之前。)
$(document).bind(“mobileinit”,function(){
$.mobile.ajaxEnabled=false;
});
如果您一直在努力将jQuery Mobile和ASP.NET WebForms结合起来,您可以使用
data role=“page”
div
上的数据url
属性来解决服务器端重定向干扰浏览器url的问题
在.aspx中使用与以下内容等效的内容:
<div data-role="page" data-url="<%= Request.Url.PathAndQuery %>">
...
</div>
...
有关更多详细信息,请阅读上标题为“重定向和链接到目录”的部分。如果要禁用ajax,可以在不需要的元素上禁用:data ajax=“false”。您可以将其放在表单上以处理响应重定向。(但是,这不会完全禁用ajax——例如,对于链接)
您可以使用window.onload或您最喜欢的jquery init添加一个简单的脚本部分,并使用$('form').attr(“data ajax”,“false”)禁用该页面的表单ajax **string Ret**包含什么内容。它是返回“1”还是boolen值?因为“弹出”一词的滥用范围很广,所以弹出窗口的外观如何?您是使用“window.open()”还是使用元素创建弹出窗口?string Ret是返回“1”,我使用jquery popupOk@Durgesh,从响应中删除“?”。重定向(“~/Mobile/Home.aspx?”)
<div data-role="page" data-url="<%= Request.Url.PathAndQuery %>">
...
</div>