大家帮忙看看,这段代码怎么不执行啊,也不报错

wodelaopos 2012-11-23 04:02:36
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.SqlClient;
using System.Configuration;
using System.Data;

public partial class transformone : System.Web.UI.Page
{
public string userid = "";
public string ser = "";
public string are = "";
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
userid = Request["username"].ToString();
//ser = Request["server"];
//are = Request["Area"];
this.bind();
}
}
protected void bind()
{
if (Request["username"].ToString()!=null||Request["username"].ToString()!="")
{
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["ddd"].ToString());
con.Open();
SqlCommand cmd1 = new SqlCommand("select * from Gifts where userid=@userid",con);
cmd1.Parameters.Add("@userid",SqlDbType.VarChar).Value=Request["username"].ToString();
cmd1.ExecuteNonQuery();
DataTable dt = new DataTable();
dt.Load(cmd1.ExecuteReader());
if (dt.Rows.Count>0)
{
SqlCommand cmd2 = new SqlCommand("update Gifts set Treasures=@Treasures,RegisterTime=@RegisterTime where userid=@userid",con);
cmd2.Parameters.Add("@userid", SqlDbType.VarChar).Value = Request["username"].ToString();
cmd2.Parameters.Add("@Treasures", SqlDbType.VarChar).Value = "光涛信物";
cmd2.Parameters.Add("@RegisterTime", SqlDbType.DateTime).Value = DateTime.Now;
cmd2.ExecuteNonQuery();
con.Close();
}

else
{
con.Open();
SqlCommand cmd = new SqlCommand("insert into Gifts(userid,Treasures,RegisterTime) values(@p1,@p2,@p3)", con);
cmd.Parameters.Add("@p1", SqlDbType.VarChar).Value = Request["username"].ToString();
cmd.Parameters.Add("@p2", SqlDbType.VarChar).Value = "光涛信物";
cmd.Parameters.Add("@p3", SqlDbType.DateTime).Value = DateTime.Now;
cmd.ExecuteNonQuery();
con.Close();
//Response.Redirect("PledgeFor.aspx?username="+userid);
}
}
}
}
...全文
297 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
CSMSDN 2012-11-28
  • 打赏
  • 举报
回复
因为你设置了!Page.IsPostBack,只在首次加载时,执行,你下个断点就能看到了,第一次是执行的,之后的操作就不执行了
我是小李 2012-11-27
  • 打赏
  • 举报
回复
this.bind()事件只要在不产生回传的情况下是应该执行的。另if (Request["username"].ToString()!=null||Request["username"].ToString()!="") 上判断应改为 if (!string.IsNullOrEmpty(Request["username"]))
小孩快跑 2012-11-27
  • 打赏
  • 举报
回复
会断点调试吧。断一下,调一下,结果马上出来。
IT_Ya_Tou 2012-11-27
  • 打赏
  • 举报
回复
你为什么要加上一个 this.bind() 中的 this 呢? 好像不加this 直接写在if(!Page.IsPostBack)就可以了吧???
woof_1128 2012-11-26
  • 打赏
  • 举报
回复
bind()方法放到ispostback外面可以了
men52676521 2012-11-26
  • 打赏
  • 举报
回复
引用 13 楼 lw402365015 的回复:
加断点到 if (!Page.IsPostBack) { // } 然后看代码进去没,逐步调试到你的bind方法处!
+
lw402365015 2012-11-26
  • 打赏
  • 举报
回复
加断点到 if (!Page.IsPostBack) { // } 然后看代码进去没,逐步调试到你的bind方法处!
聖傑 2012-11-25
  • 打赏
  • 举报
回复
引用 6 楼 wodelaopos 的回复:
是这样的,我登陆的时候调用的是别人的登陆接口。然后别人给我这个页面返回当时登陆的用户名,然后我查询,如果存在我就更新,如果没有我就增加,竟然不执行
userid = Request["username"].ToString();//获取返回当时登录的用户名 你查询和判断存在与否的代码在哪? 前面大神们都说了。所以Bind方法只执行一次。 if (!Page.IsPostBack) { //首次加载页面时候加载的内容 } 你最好断点调试一下。
闪耀的瞬间 2012-11-24
  • 打赏
  • 举报
回复
引用 6 楼 wodelaopos 的回复:
是这样的,我登陆的时候调用的是别人的登陆接口。然后别人给我这个页面返回当时登陆的用户名,然后我查询,如果存在我就更新,如果没有我就增加,竟然不执行
if (!Page.IsPostBack) { //首次加载页面时候加载的内容 } 也就是说,你这个bind方法只执行一次。
wodelaopos 2012-11-23
  • 打赏
  • 举报
回复
引用 9 楼 sai_shuang 的回复:
确定是Request["username"].ToString(); 而不是Request.QueryString["username"].ToString(); ??
确定以及肯定
小米粥 2012-11-23
  • 打赏
  • 举报
回复
确定是Request["username"].ToString(); 而不是Request.QueryString["username"].ToString(); ??
wodelaopos 2012-11-23
  • 打赏
  • 举报
回复
引用 7 楼 q969059179 的回复:
你判断的太纠结了直接.lenth多省事啊还快
怎么判断?详细点
q969059179 2012-11-23
  • 打赏
  • 举报
回复
你判断的太纠结了直接.lenth多省事啊还快
wodelaopos 2012-11-23
  • 打赏
  • 举报
回复
是这样的,我登陆的时候调用的是别人的登陆接口。然后别人给我这个页面返回当时登陆的用户名,然后我查询,如果存在我就更新,如果没有我就增加,竟然不执行
h15623619159 2012-11-23
  • 打赏
  • 举报
回复

userid = Request["username"].ToString();
//ser = Request["server"];
//are = Request["Area"];
this.bind();

去掉if (!Page.IsPostBack) 这个判断就行了
  • 打赏
  • 举报
回复
if (!Page.IsPostBack) { //首次加载页面时候加载的内容 }
bdmh 2012-11-23
  • 打赏
  • 举报
回复
第一次肯定会执行的,后面再次刷新页面就不会执行了
hchanhc 2012-11-23
  • 打赏
  • 举报
回复
在ispostback那里设断点,看走里面了没
mizuho_2006 2012-11-23
  • 打赏
  • 举报
回复
页面没有产生PostBack,就不会执行bind()方法 只有在第一次加载页面时才执行

62,046

社区成员

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

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

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

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