PDA

View Full Version : آیا میشه نام این صفحه رو تغییر داد؟



AspNet
یک شنبه 11 اردیبهشت 1384, 19:41 عصر
سلام

چرا وقتی از این کد استفاده میکنم

FormsAuthentication.RedirectFromLoginPage(this.txt ID.Text,true);
و روی دکمه سابمیت که میزنم اگه صفحه ای به نام default.aspx نداشته باشیم اررور میگیره؟
خواستم ببینم میشه نام این صفحه رو تغییر داد؟

با تشکر

Behrouz_Rad
یک شنبه 11 اردیبهشت 1384, 22:06 عصر
متد RedirectFromLoginPage، کاربر را به صفحه ای که از آن به صفحه جاری آمده هدایت می کند.
اینکار با استفاده از یک متغیر رشته ای که همراه با Query String به صفحه مقصد (معمولا لوگین) پس داده شده، انجام می پذیرد.
نام این کوئری استرینگ، ReturnURL است.
در صورتی که کاربر به طور مستقیم آدرس صفحه ای که در آن متد RedrerctFromLoginPage وجود دارد را در Address Bar وارد کرده یا فرم ابتداییه سایت در هنگام ورود به سایت این صفحه باشد، مسلما کوئری استرینگ ReturnURL نیز دارای مقداری نیست.
در این حالت کاربر به صفحه Default.aspx پاس داده می شود.
راه حل:
استفاده از متد IsPostBack و دستکاری مقدار کوئری استرینگ ReturnURL


Sub Page_Load
If Not IsPostBack Then
Response.Redirect("myPage.aspx?ReturnURL=" & Server.URLEncode ( "myTargetPage.aspx" ))
End If
End Sub

AspNet
یک شنبه 11 اردیبهشت 1384, 23:11 عصر
اونوقت اگر از یه صفحه ی دیگه به صفحه ی لوگین وارد بشه وقتی لوگین کرد یعنی باز هم به صفحه ای میره که تو کد نوشتیم میره؟(myTargetPage.aspx) یا اینکه به صفحه ای که از اونجا اومدیم ؟

Behrouz_Rad
دوشنبه 12 اردیبهشت 1384, 07:56 صبح
متد IsPostBack به همین منظور استفاده شده.

AspNet
سه شنبه 13 اردیبهشت 1384, 14:47 عصر
از این کد که استفاده کردم متاسفانه یه جورایی برنامه رو به هم ریخت در هنگام اجرا.

AspNet
سه شنبه 13 اردیبهشت 1384, 14:50 عصر
اگه بشه هنگامی که صفحه لود میشه Url صفحه رو عوض کرد هم فکر کنم بد نباشه.
(البته من کدش رو بلد نیستم)

Behrouz_Rad
سه شنبه 13 اردیبهشت 1384, 15:06 عصر
راه حل همون کدی هست که خدمتتون عرض کردم.
حداقل بنده که راه دیگه ای تا حالا ندیدم.
در 90 درصد موارد پیشنهاد میشه که نام صفحه آغازین سایت خود را، Default.aspx بگذارید.

AspNet
سه شنبه 13 اردیبهشت 1384, 20:35 عصر
باشه پس فعلا ناچارم نام صفحه رو عوض کنم :wink: