ورود

View Full Version : مبتدی: رفتن به صفحه جديد بعد از ثبت داده ها در ديتابيس



oghab1
دوشنبه 27 دی 1389, 01:24 صبح
سلام دوستان

من سواد خيلي كمي در مورد ASP دارم و ميدونم سوالم آماتور است ولي ممنون ميشم پاسخ بديد:

من يه فرم طراحي كردم با ASP تحت #C كه يه سري اطلاعات ميگيره وقتي روي دكمه ثبت كليك ميكنم اطلاعات وارد ديتابيس ميشه مشكلم اينكه كه باز همون صفحه فرم باز ميشه حتي از لينك استفاده كردم كه با اين كار اطلاعات در ديتابيس ذخيره نميشه و به صفحه ديگه ميره

سوالم اينه كه چيكار بايد كنم يا چه كدي بايد بنويسم كه بعد از زدن دكمه ثبت و ذخيره اطلاعات در ديتا بيس وارد يه صفحه جديد بشه

با تشكر

khz-web1
دوشنبه 27 دی 1389, 01:45 صبح
سلام... بهتر بود سرچ می کردی ، ولی بگیر...


Response.redirect("page.aspx")

موفق باشید

Javad_Darvish_Amiry
دوشنبه 27 دی 1389, 01:59 صبح
دوست عزیز، ورودتون رو به جمع دات نتی ها خوش آمد میگم. (به سهم خودم). برای این کار چون کامل توضیح ندادید و به خاطر این که دوباره کاری نشه، دو تا وضعیت عمده داریم که هر دو رو خدمتتون عرض میکنم. اگه وضعیت دیگه ای بود بفرمایید تا بتونیم بیشتر کمکتون کنیم:
1- اگه از کنترل های ASP.NET مثل گریدویو و لیست ویو و این ها استفاده کردید، طبیعتا تو صفحه اتون یه دیتاسورس هم دارید. - ObjectDataSource, SqlDataSource یا همچین چیزی - توی قسمت event ها (برید تو پراپرتیها، بالا یه دکمه داره برای نمایش ایونت ها با عکس صاعقه، اونو بزنید همه رویداد ها رو میبینید) دنبال رویدادی به اسم Inserted بگردید. روش که دوبار کلیک کنید، صفحه کد سی شارپ باز میشه و یه متود براتون ایجاد می کنه که بعد از اینکه عمل درج به پایان رسید (همونطور که از اسم رویداد هم مشخصه) این متود اجرا میشه. حالا برید مرحله 3.
2- اگه خودتون به صورت دستی و مستقیما با ADO.NET کار کردید، آخر متودی که عمل درج رو انجام میده (یعنی بعد از این که همه کار های درج تموم شد و دقیقا قبل از خروج از (به پایان رسیدن) متود، مرحله 3 رو انجام بدید.
3- بنویسید:


this.Page.Response.Redirect("mypage.aspx");

که mypage.aspx اسم و مسیر صفحه ای هست که میخواید بهش منتقل بشید. اگه مورد شما شامل این ها نیست، بیشتر توضیح بفرمایید. موفق باشید.

hadi-z
سه شنبه 16 فروردین 1390, 20:52 عصر
من دقیقا این کارو انجام میدم ولی با اینکه داده رو ثبت میکنه به صفحه errorpage میره

این کدم

try
{
DataClassesDataContext db = new DataClassesDataContext();
db.tblRegINschools.InsertOnSubmit(new tblRegINschool { ncode = txtNcode.Text });
db.SubmitChanges();
//Response.Redirect("succPage.aspx");
}
catch
{
Response.Redirect("errorpage.aspx");
}

alonemm
چهارشنبه 17 فروردین 1390, 10:58 صبح
باسلام:
چون کد شما دچار خطا هست و شما وارد بلوک کدنویسی Catch میشید.
کلاس ها رو برسی کنید.

Hess_r
چهارشنبه 17 فروردین 1390, 12:18 عصر
با سلام

خوب دستوري كه تو try گذاشتي دچار ارور شده واسه همين به اون صفحه منتقل ميشي.

بهت پيشنهاد ميكنم از دستورات sql واسه اضافه كردن اطلاعات استفاده كني.

hadi-z
چهارشنبه 17 فروردین 1390, 14:13 عصر
با سلام

خوب دستوري كه تو try گذاشتي دچار ارور شده واسه همين به اون صفحه منتقل ميشي.

بهت پيشنهاد ميكنم از دستورات sql واسه اضافه كردن اطلاعات استفاده كني.

اخه داده ها درست ذخیره میشن

در ضمن وقتی Response.Redirect("succPage.aspx"); رو کامنت میکنم دیگه تو errorpage نمیره

jaykob
چهارشنبه 17 فروردین 1390, 14:58 عصر
اخه داده ها درست ذخیره میشن

در ضمن وقتی Response.Redirect("succPage.aspx"); رو کامنت میکنم دیگه تو errorpage نمیره

سلام اسم صفحه succPages.aspx را درست دادید ؟ و یا آدرس داخل موقعیت فعلی قرار دارد ؟
اگر مایل بودید پروژه را قرار بدید

hadi-z
چهارشنبه 17 فروردین 1390, 15:35 عصر
سلام دوست عزیز

اسم صفحه succPages.aspx رو چک کردم. درست بود
ولی متظور این رو نفهمیدم => ((و یا آدرس داخل موقعیت فعلی قرار دارد ؟ ))

درضمن متاسفانه الان امکان قرار دادن پروژه رو ندارم
بازم ممنون از توجه تون

mehrdad85
چهارشنبه 17 فروردین 1390, 15:43 عصر
کد redirect با try/catch مشکل داره و اجرا نمیشه همزمان ازشون استفاده نکن
البته منم تست نکردم اما انقدر بهم گفتن و اینجا دیدم که بهش مطمئنم و نیازی به تست نداره

hadi-z
چهارشنبه 17 فروردین 1390, 16:27 عصر
خب حالا میشه یه راه دیگه بمن معرفی کنید که بعد از ثبت درست داده ها به یک صفحه برای اعلام موفقیت هدایت بشه.

hadi-z
چهارشنبه 17 فروردین 1390, 22:42 عصر
از دوستان کسی نظری نداره؟

jaykob
پنج شنبه 18 فروردین 1390, 10:18 صبح
از دوستان کسی نظری نداره؟

منظورم از موقعیت فعلی این است که اگر در روت سایت نیستید باید ../ بر گردید یک پله به عقب تر ...

به غیر از redirect بهتره که در صورت وارد شدن اطلاعات موفقیت آمیز بودن این کار را داخل یک label نشان بدهید و خود برای بهتر شدن نتیجه می توانید رنگ لیبل را سبز کنید و همینطور بولد که مسئله نظر خودتون هست ...