全部家当75分,求解

tiandiyuzhou 2010-06-25 12:49:05
 protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
HttpCookie cookie = Request.Cookies["Info"];
if (cookie != null)
{
Response.Write("false");
Response.End();
}
else
Bind();
}
}
public void Bind()
{
int id = Convert.ToInt32(Request.QueryString["ID"]);
HttpCookie cookie = new HttpCookie("Info");
cookie.Values["UserIP"] = Common.GetUserIpAddress();
cookie.Values["UserTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
cookie.Expires = DateTime.Now.AddDays(1);
DbProvider.Instance().UpdateDataTableHit("DS_Video", "Dig", id);
DataTable dt = DbProvider.Instance().GetSingleVideo(id);
if (dt.Rows.Count > 0 && dt != null)
{
Response.Write(dt.Rows[0]["Dig"].ToString() + cookie.Values["UserIP"].ToString() + cookie.Values["UserTime"].ToString());
Response.End();
}
dt.Clear();
dt.Dispose();
}

当点击第一次的时候是没有cookies["Info"]的,所以就把cookie添加进去,过期时间是一天
可是点击第二次的时候还是执行bind()的事件额!怎么不输入false,哪里错了呢?
请各位帮帮忙!
...全文
125 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
k0mmDu 2010-06-25
  • 打赏
  • 举报
回复
bind()里面不需要response.cookies.add(cookie)一下么;
tiandiyuzhou 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 findcaiyzh 的回复:]
去掉 if (!IsPostBack)
点击页面按钮,既是PostBack。if下面的都不执行了。
[/Quote]那该怎么办?怎么就是不执行response.write("false")?
tiandiyuzhou 2010-06-25
  • 打赏
  • 举报
回复
我把全部贴出来
用的是ajax
function SetUp(id)
{
createXMLHTTP();
var up = document.getElementById("Up");
var url="/Video/AjaxUp.aspx?ID="+id+"&math="+Math.random()*10+990;
xmlHttp.open("get",url,true);
xmlHttp.onreadystatechange=function(){
if(xmlHttp.readyState==4)
{
if(xmlHttp.status==200)
{

alert(xmlHttp.responseText);
}
}
}
xmlHttp.send(null);
}
tiandiyuzhou 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lpfjinxinjinli 的回复:]
为什么不用数据库
[/Quote]数据库的方法会了,用个存储过程判断ip,和时间是不是超过一天。
想换个方法试试
宝_爸 2010-06-25
  • 打赏
  • 举报
回复
去掉 if (!IsPostBack)
点击页面按钮,既是PostBack。if下面的都不执行了。
tiandiyuzhou 2010-06-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 newdigitime 的回复:]
if (!IsPostBack)
限制了回发时的操作.
也就是点击后没进行任何操作
[/Quote]
 protected void Page_Load(object sender, EventArgs e)
{
HttpCookie cookie = Request.Cookies["Info"];
if (cookie != null)
{
Response.Write("false");
Response.End();
}
else
Bind();
}
我把那个去掉还是一样继续执行bind()事件额
lpfjinxinjinli 2010-06-25
  • 打赏
  • 举报
回复
为什么不用数据库
newdigitime 2010-06-25
  • 打赏
  • 举报
回复
if (!IsPostBack)
限制了回发时的操作.
也就是点击后没进行任何操作
tiandiyuzhou 2010-06-25
  • 打赏
  • 举报
回复
自己Up一下!
首推未来 2010-06-25
  • 打赏
  • 举报
回复
11楼之前就出答案了
tiandiyuzhou 2010-06-25
  • 打赏
  • 举报
回复
谢谢各位大侠!粗心了!没注意加上那一句!
yangtututu 2010-06-25
  • 打赏
  • 举报
回复
加个ELSE 写出来
pupstar 2010-06-25
  • 打赏
  • 举报
回复
把 Response.Write("false");
Response.End();
写在
if (!IsPostBack)
外面
zzh8868021 2010-06-25
  • 打赏
  • 举报
回复
protected void Page_Load(object sender, EventArgs e)
{

// if (!IsPostBack)限制了回发时的操作.也就是点击后没进行任何操作要删除他
HttpCookie cookie =Request.Cookies["Info"];
if (cookie != null)
{
Response.Write("false");
Response.End();
}
else
{
Bind();
}
}
public void Bind()
{
int id = Convert.ToInt32(Request.QueryString["ID"]);
HttpCookie cookie = new HttpCookie("Info");
cookie.Values["UserIP"] = "admin";
cookie.Values["UserTime"] = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
cookie.Expires = DateTime.Now.AddDays(1);
//这个地方需要这一行代码 , 创建cookie之后需要在客户端保存
Response.Cookies.Add(cookie);
DbProvider.Instance().UpdateDataTableHit("DS_Video", "Dig", id);
DataTable dt = DbProvider.Instance().GetSingleVideo(id);
if (dt.Rows.Count > 0 && dt != null)
{
Response.Write(dt.Rows[0]["Dig"].ToString() + cookie.Values["UserIP"].ToString() + cookie.Values["UserTime"].ToString());
Response.End();
}
dt.Clear();
dt.Dispose();
Response.Write("true");
}
//我在vs2008中已测试成功!兄弟给点分吧!谢谢了!
wuyq11 2010-06-25
  • 打赏
  • 举报
回复
HttpCookie cookie = new HttpCookie("Info");

Response.Cookies.Add(cookie);
newdigitime 2010-06-25
  • 打赏
  • 举报
回复
1.去掉ispostback
2.
在cookie.Expires = DateTime.Now.AddDays(1)下面加一句:
Response.Cookies.Add(cookie);

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧