当前位置:编程学习 > C#/ASP.NET >>

烦请高人解决这段代码为什么不能更新

public partial class 个人资料修改页 : System.Web.UI.Page
  {
  protected void Page_Load(object sender, EventArgs e)
  {
  //防止非法进入
  if (!IsPostBack)
  {
  if (Request.Browser.Cookies == true)
  {
  if (Request.Cookies["name"] == null)
  {
  Response.Redirect("login.aspx");//跳转到登录页面
  }

  }
  }


  T_UserTableAdapter adapter = new T_UserTableAdapter();
  var user = adapter.GetDataByname(Request.Cookies["name"].Value);
  var data = user.Single();
  lbname.Text = data.name;
  txtpassword.Text = data.password;
  txtQQ.Text = data.QQ;
  txtEmail.Text = data._E_Mail;
  txtface.Text = data.face;
  faceimg.Src = data.face;
  if (data.gender == "男")
  {
  RadioButton1.Checked = true;
  }
  else
  {
  RadioButton2.Checked = true;
  }

  }

  protected void btn_Click(object sender, EventArgs e)
  {
  T_UserTableAdapter adapter = new T_UserTableAdapter();
  var user = adapter.GetDataByname(Request.Cookies["name"].Value);
  var data= user.Single();
  if (RadioButton1.Checked == true)
  {
  data.password = txtpassword.Text;
  data.gender = RadioButton1.Text;
  data.face = txtface.Text;
  data.QQ = txtQQ.Text;
  data._E_Mail = txtEmail.Text;
  data.Date = DateTime.Now;
    
  }
  else if (RadioButton2.Checked == true)
  {
  data.password = txtpassword.Text;
  data.gender = RadioButton2.Text;
  data.face = txtface.Text;
  data.QQ = txtQQ.Text;
  data._E_Mail = txtEmail.Text;
  data.Date = DateTime.Now;
    
  }
  adapter.Update(data);
  Response.Redirect("WebForm1.aspx");
  }
  }
--------------------编程问答-------------------- id回传了吗?调试下试试。 --------------------编程问答-------------------- if (!IsPostBack)
{
T_UserTableAdapter adapter = new T_UserTableAdapter();
  var user = adapter.GetDataByname(Request.Cookies["name"].Value);
  var data = user.Single();
  lbname.Text = data.name;
  txtpassword.Text = data.password;
  txtQQ.Text = data.QQ;
  txtEmail.Text = data._E_Mail;
  txtface.Text = data.face;
  faceimg.Src = data.face;
  if (data.gender == "男")
  {
  RadioButton1.Checked = true;
  }
  else
  {
  RadioButton2.Checked = true;
  }
}
=========================
改成这样试试 --------------------编程问答-------------------- 楼主你要多学学怎么调试程序啊,

你可以设个断点,然后单步执行以下,看看程序执行的流程对不对
也就是说,看看程序执行到哪里去了?
到底是流程出问题还是, adapter.Update(data);这里面出问题

有没有什么出错提示?

------------------------------

另外, var user = adapter.GetDataByname(Request.Cookies["name"].Value);

感觉应该先判断一下 

var cookie_name = Request.Cookies["name"].Value;
if (cookie_name != null && cookie_name != string.Empty)
{   var user = adapter.GetDataByname(cookie_name );
   ....
}

或者在外面加try catch
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,