ورود

View Full Version : مشکل عجیب در دریافت و ویرایش اطلاعات از textbox



mortex3000
جمعه 04 مهر 1393, 22:50 عصر
سلام
من تو جدولم یه رکورد دارم که می خوام اطلاعات اون رکورد رو هنگام بالا اومدن صفحه توی تکست باکس ها نمایش بدم و بعد با دکمه ویرایش اطلاعات رو ویرایش کنم.
کدهای مربوط به page_load صفحه بصورت زیر است:



protected void Page_Load(object sender, EventArgs e)
{
SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM tb_setting", con);
DataSet ds1 = new DataSet();
da1.Fill(ds1);
txtTitle.Text =ds1.Tables[0].Rows[0][0].ToString() ;
txtAbout.Text = ds1.Tables[0].Rows[0][1].ToString();
}


و کدهای ویرایش هم بصورت زیر است:



string sql_insert = @"UPDATE [tb_setting]
SET title_site=@title_site , About_site=@About_site
WHERE id_setting=1";
SqlCommand command = new SqlCommand(sql_insert, con);
SqlParameter a1 = new SqlParameter("title_site", txtTitle.Text);
SqlParameter a2 = new SqlParameter("About_site", txtAbout.Text);
command.Parameters.Add(a1);
command.Parameters.Add(a2);
command.Parameters.Add(parameter);
con.Open();
command.ExecuteNonQuery();
con.Close();


اما مشکلی که هست اینه که وقتی کدهای page_load رو قرار میدم ویرایش عمل نمیکنه ولی وقتی اونا رو برمیدارم ویرایش عمل میکنه
لطفا کمک کنید

parvizwpf
جمعه 04 مهر 1393, 23:18 عصر
شاید باید postback شدن صفحه رو کنترل کنید.

aminmousavi
جمعه 04 مهر 1393, 23:42 عصر
سلام دوست عزیز . همانطور که پرویز عزیز فرمودند ، باید شرط برای postback قرار بدین .
چون رو دکمه ویرایش که کلیک میکنه کاربر قبل از اجرای اونت باتن ، اونت PageLoad اجرا میشه و مقداری که در دیتابیس هست درون تکس باکس قرار میگیره و مقداری که کاربر وارد کرده از بین میره ، و در نهایت آپدیت صورت میگیره ، اما مقداری که درون جدول هست توی جدول آپدیت میشه ! برای همین فکر میکنید که آپدیت انجام نمیشه !
باید کد Pageload تون رو توی شرط زیر بزارین :


if (!this.IsPostBack)
{
}

mortex3000
شنبه 05 مهر 1393, 07:54 صبح
ممنون از راهنماییتون
کاملا حق با شما بود و مشکل حل شد