if (context.Request.QueryString["type"] != null)//登陆
{
KyLaw.BLL.KY_USER user = new KyLaw.BLL.KY_USER();
string name=context.Request.QueryString["name"].ToString();
string pwd=context.Request.QueryString["pwd"].ToString();
if (user.GetDengLu(name,pwd).Tables[0].Rows.Count > 0)//成功登陆
{
context.Session["UserName"] = model.USER_NAME;
context.Session["UserType"] = model.USER_TYPE;
context.Response.ContentType = "text/plain";
context.Response.Write("1");
}
else//登陆失败
{
context.Response.ContentType = "text/plain";
context.Response.Write("0");
}
}
if (context.Request.QueryString["close"] != null)//退出
{
context.Session.Clear();
context.Response.ContentType = "text/plain";
context.Response.Write("1");
}
这是ashx里面的代码 前台无刷新jquery调用!
登陆成功 显示一个层 退出111
我点这 退出111 就jquery无刷新 退出 并刷新页面。window.location = "Default.aspx";问题: 我第一次登陆成功 不管怎么按F5都没问题, 但我点退出,再登陆, 登陆成功后,只要按一次F5,页面就跳到未登陆的状态了!
“显示XXX登陆成功!”这句话就没了。
大侠们帮帮我吧。无以为报,200分送上!
{
KyLaw.BLL.KY_USER user = new KyLaw.BLL.KY_USER();
string name=context.Request.QueryString["name"].ToString();
string pwd=context.Request.QueryString["pwd"].ToString();
if (user.GetDengLu(name,pwd).Tables[0].Rows.Count > 0)//成功登陆
{
context.Session["UserName"] = model.USER_NAME;
context.Session["UserType"] = model.USER_TYPE;
context.Response.ContentType = "text/plain";
context.Response.Write("1");
}
else//登陆失败
{
context.Response.ContentType = "text/plain";
context.Response.Write("0");
}
}
if (context.Request.QueryString["close"] != null)//退出
{
context.Session.Clear();
context.Response.ContentType = "text/plain";
context.Response.Write("1");
}
这是ashx里面的代码 前台无刷新jquery调用!
登陆成功 显示一个层 退出111
我点这 退出111 就jquery无刷新 退出 并刷新页面。window.location = "Default.aspx";问题: 我第一次登陆成功 不管怎么按F5都没问题, 但我点退出,再登陆, 登陆成功后,只要按一次F5,页面就跳到未登陆的状态了!
“显示XXX登陆成功!”这句话就没了。
大侠们帮帮我吧。无以为报,200分送上!
$(function() {
$("#btnLogin").click(function() {
$.ajax({
type: "get",
url: "docInfo/Doc_Upload.ashx",
data: { user: $("#txtUser").val(), pwd: $("#txtPwd").val() },
dataType: "plain",
success: function(data) {
if (data == '1') {
$("#divNo").hide();
$("#divOk").show();
$("#divName").html("您好!" + $("#txtUser").val());
$("#divLogin").hide();
}
else {
alert("用户名或密码错误!");
$("#txtUser").val("")
$("#txtPwd").val("")
}
}
});
});
});
//退出
$(function() {
$("#back").click(function() {
$.ajax({
type: "get",
url: "docInfo/Doc_Upload.ashx",
data: { close:"1"},
dataType: "plain",
success: function(data) {
window.location = "Default.aspx";
}
});
});
});这是前台页面代码
context.Response.Write("1");
我退出的时候 那个1都没用。 只是做摆饰的。success: function(data) {
window.location = "Default.aspx";
}
if(!Page.IsPostBack)
{
if(Session["UserName"] != null)
// JS: divNo.hide(); divLogin.hide(); divOk").show();
}当然你也可以使用PlaceHolder.Visible来控制
function Fast_Login(uNameId,uPassId,datatype){
if(!datatype) datatype = 0;
var uName = (datatype==0)?$("#"+uNameId).val():uNameId;
var uPass = (datatype==0)?$("#"+uPassId).val():uPassId;
//alert(uName + "|" + uPass);
if($.trim(uName).length<1 || $.trim(uPass).length<1) {
alert("请输入用户邮箱(或用户名)和密码。");
return false;
}
AjaxSubmit(
null,
"/index.aspx?s=/User/FastUserLogin/&IsAdd=101", 路径处理+参数
{"username":uName,"password":uPass},
function(msg){
if(msg==1){
AjaxLoginBoxClose(); //弹出提示框
Fast_GetUserInfo(); 获得用户信息
}
else
{
ShowErrorMsg("用户登陆有误,可能的原因:\r\n\r\n\t1.用户名或密码错误;\r\n\t2.网络故障.","会员登陆");//。
}
},null
//function(msg){ShowErrorMsg("用户登陆有误:"+(msg.responseText?msg.responseText:"ErrorAjax") +"。");}
);
return true;
}
这个是我写的,希望对你有帮助
其次
context.Response.Write("1");
问题可能出在你这句话上 你是不是 AJXA读这个页面的内容了 是1判断登陆成功 是吧
这就出问题了 因为这个页面不会刷新 你第一次登陆成功了 他永远是1 就算你第二次登陆失败了 他也是1因为ashx 就这样 你换成aspx页面 加上
if (!IsPostBack)
{}
但这样 如果前台调用不当 也会出现永远是1的情况 但你可先试试当然最好的办法是 cookies 然后 其他页面判断cookise是否存在
我发现我第一次登陆,无刷新掉后台方法,退出后再登陆,就不调ajax方法。但是换个帐号登陆,又会调ajax方法。如果我换个用户登陆,点退出按钮没反应。
登陆还退出不了了,你用IE开发工具或者Firedebug高度下JS吧
juqery里面的get方法 只会第一次像后台发送请求 第二次就不发送了 所以取数据列表用get 跟后台C#交互 还是用post 比较好改成post就可以了 我以前也遇见过
我还没理会到get和post的真正区别啊。唉。结贴给分!!!再次谢谢大家了!!!!
Regex reg = new Regex(@"(?s)<li>\s*所在地区:((?:(?!</?li).)*)");
foreach (Match m in reg.Matches(str))
Response.Write(m.Groups[1].Value);