PDA

View Full Version : سوال: چرا وقتي رو Button كليك مي كنم صفحه Postback نميشه؟



اوبالیت به بو
چهارشنبه 13 مرداد 1389, 05:16 صبح
سلام

من دكمه اي در صفحه دارم به اسم "ارسال نظر". قبل از اينكه روي اين دكمه كليك بشه بعد از Validate شدن فيلد ها، مقادير رو در DataBase ذخيره مي كنه. اما مشكل اينجاست كه صفحه من postback نميشه و كاربر هرچقدر رو اين دكمه كليك كنه، به ازاي هر كليك يك ركورد در DB من ذخيره ميشه و تغييرات زماني در GridView مشاهده ميشه كه كاربر دكمه F5 يا Refresh صفحه رو بزنه.

اين مشكل رو چي جوري برطرف كنم؟

كد داخل دكمه ارسال نظر:

protected void btnSendComment_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
CommentsBLL objUI = new CommentsBLL();
string IP = "ip";
int i = objUI.AddNewComment(txtNickName.Text, txtEmail.Text, txtComment.Text, DateTime.Now, 1, IP);
ClearTextBox();
}
}

Daren-shan
چهارشنبه 13 مرداد 1389, 06:20 صبح
grid view شما به صورت دینامیک با دیتابیستون در ارتباط نیست و در واقع ارتباطش استاتیکه
بنابراین با عوض شدن دیتابیس مقادیر Grid view شما تغییر نمی کنه تا وقتی که اون رو رفرش کنید که اینکار با رفرش کردن صفحه یا رفرش کردن عمل خوادن و ثبت اطلاعات در grid view انجام میشه.
برای درست کردن این مشکل میتونین در رویداد onbuttonclick مورد نظرتون بعد از ایجاد تغییرات در دیتا بیستون با فراخواندن متد رفرش صفحه ی مورد نظر کل صفحه را رفرش کنید یا خود gridview رو رفرش کنید(با انجام دوباره ی مراحل خواندن و نمایش اطلاعات در اون)

Mostafa_Dindar
چهارشنبه 13 مرداد 1389, 07:25 صبح
سلام

من دكمه اي در صفحه دارم به اسم "ارسال نظر". قبل از اينكه روي اين دكمه كليك بشه بعد از Validate شدن فيلد ها، مقادير رو در DataBase ذخيره مي كنه. اما مشكل اينجاست كه صفحه من postback نميشه و كاربر هرچقدر رو اين دكمه كليك كنه، به ازاي هر كليك يك ركورد در DB من ذخيره ميشه و تغييرات زماني در GridView مشاهده ميشه كه كاربر دكمه F5 يا Refresh صفحه رو بزنه.

اين مشكل رو چي جوري برطرف كنم؟

كد داخل دكمه ارسال نظر:

protected void btnSendComment_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
CommentsBLL objUI = new CommentsBLL();
string IP = "ip";
int i = objUI.AddNewComment(txtNickName.Text, txtEmail.Text, txtComment.Text, DateTime.Now, 1, IP);
ClearTextBox();
}
}

بعد از متد ClearTextBox(); متد GrdiView.Databind(); رو فراخوانی کن

موفق باشی

man of rebellious being
چهارشنبه 13 مرداد 1389, 08:15 صبح
سلام


بعد از textbox.clear از response.redirect استفاده کن

اوبالیت به بو
چهارشنبه 13 مرداد 1389, 12:19 عصر
بايد متد مربوط به پر كردن گريد رو اضافه مي كردم.

مرسي از لطف دوستان
عجب سوتي احمقانه اي دادم:لبخند: :بامزه: