日期:2014-05-18 浏览次数:20585 次
public void InitData()
{
int activityID = Convert.ToInt32(Request.QueryString["activity_id"]);
BusinessLogical.Activity activity = new BusinessLogical.Activity();
activity.LoadData(activityID);//从数据库中加载数据
//初始化文本框中的值
TextBoxTitle.Text = activity.Info_Title;
TextBoxAddress.Text = activity.Info_Position;
TextBoxContent.Text = activity.Info_Content;
}
protected void ButtonUpdate_Click(object sender, EventArgs e)
{
BusinessLogical.Activity activity = new BusinessLogical.Activity();
activity.Info_ID = Convert.ToInt32(Request.QueryString["activity_id"]);
Hashtable ht = new Hashtable();//新建哈希表并将文本框中修改后的值添加进哈希表中
ht.Add("Info_Title", SqlStringFormat.GetQuotedString(TextBoxTitle.Text));
ht.Add("Info_Address", SqlStringFormat.GetQuotedString(TextBoxAddress.Text));
ht.Add("Info_Content", SqlStringFormat.GetQuotedString(TextBoxContent.Text));
activity.Update(ht);
//测试
foreach (DictionaryEntry h in ht)
{
Response.Write(h.Key.ToString()+h.Value.ToString());
}
public void InitData()
{
if (!IsPostBack)
{
int activityID = Convert.ToInt32(Request.QueryString["activity_id"]);
BusinessLogical.Activity activity = new BusinessLogical.Activity();
activity.LoadData(activityID);//从数据库中加载数据
//初始化文本框中的值
TextBoxTitle.Text = activity.Info_Title;
TextBoxAddress.Text = activity.Info_Position;
TextBoxContent.Text = activity.Info_Content;
}
}
------解决方案--------------------
是不是PageLoad中调用了InitData方法,有没有用IsPostBack做一下限制,只第一次加载时调用InitData
------解决方案--------------------
你的Init方法放在if(!IsPostBack)里了么?
页面执行顺序是按了按钮之后先Page_Load,然后再是Click事件所以你的Init又重新给TextBox赋值了 取到的也是以前的值
------解决方案--------------------
调试看一下你的test字符串直接放在数据库里执行能否成功更新数据,如果不行,就需要对sql语句进行修正。
------解决方案--------------------
而且要判断if(!IsPostBack)
------解决方案--------------------
直接用你的SQL语句去数据库里面执行看看