PDA

View Full Version : استفاده ی دوباره از دستور postBack



reza erfani
جمعه 18 آذر 1390, 23:27 عصر
سلام
دوستان ما به تازگی در دانشگاه داریم asp یاد میگیریم البته به زبان C#‎‎ حالا استادمون یک بحثی شروع کرد به نام postback و یک تمرین گفت که
باید یک وب سایت ایجاد کنیم با 3 تا صفحه مانند فرم ثبت نام کنکور باید یک بخش اطلاعات رو در صفحه ی اول و بخشی در صفحه دوم بگیریم و در صفحه ی 3 نمایش بدیم من گفتم خود استاد با همین دستور انتقال بدیم از صفحه ی 1 به 2 و از اونجا به صفحه ی 3 گفت درسته ولی ایراد میده و حالا همون ایراد رو میده یعنی عین خطا اینه

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.
Source Error:
protected void Page_Load(object sender, EventArgs e)
{
TextBox m = (TextBox)PreviousPage.FindControl("TextBox1");

TextBox n = (TextBox)PreviousPage.FindControl("TextBox2");
Label1.Text = m.Text;
}
حالا اگه میشه کمی من رو راهنمایی کنید تا این مشکل رو حل کنم
پیشاپیش از توجهتون ممنون

fakhravari
شنبه 19 آذر 1390, 00:19 صبح
با سلام
عزیز نمی تونستی کد بهتر بزاری.
TextBox چرا نمونه گرفته .
سوال میگه برای ارسال مقادیر خوب چرا query string نمیگیره.
www.kiyansanat-esfahan.com/source/PreviousPageType.zip

پیج اول

int a = 20;
Response.Redirect("t1.aspx?id="+a);

دریافت در پیج 2
protected void Page_Load(object sender, EventArgs e)
{

if (Request.QueryString["id"] != null)
{
if (!IsPostBack)
{
Response.Write(Request.QueryString["id"]);
}
else
{
Response.Write("refresh On");
}
}
else
{
Response.Write("Not id");
}
}

reza erfani
شنبه 19 آذر 1390, 09:26 صبح
ممنونم آقای فخر آوری ولی من الان ناچارم از postBack استفاده کنم کد هایی که داده بودید رو استفاده میکنم ولی در مورد این postback اگه میشه کمک کنید چون باید با همین حلش کنم

A.S.Roma
شنبه 19 آذر 1390, 11:27 صبح
http://barnamenevis.org/showthread.php?237871

reza erfani
شنبه 19 آذر 1390, 11:57 صبح
دوست من خیلی ممنون من این کد ها رو میدونستم و استفاده کردم ولی حالا اگه بخواییم از page2 به صفحه ی page 3 انتقال بدیم ارور میده ارورشم بالا نوشتم

A.S.Roma
شنبه 19 آذر 1390, 12:08 عصر
اطلاعات پیج اول ذو در چند تا HiddenField‌تو پیج 2 ذخیره کنید .
و عینا" کدی رو که برای گرفتن اطلاعات از TextBox‌نوشتید اینبار برای HiddenField بنویسید.

reza erfani
شنبه 19 آذر 1390, 12:36 عصر
والا من که متوجه نشدم
اینم سورسی که نوشتم البته با VS2010 و .net 3.5 هست

A.S.Roma
شنبه 19 آذر 1390, 13:30 عصر
به خط
if(Page.PreviousPage != null)
لینکی که گذاشتم دقت نکردی !

اینجوری بنویس :

if (Page.PreviousPage != null)
{
TextBox m = (TextBox)PreviousPage.FindControl("TextBox1");
TextBox n = (TextBox)PreviousPage.FindControl("TextBox2");
Label1.Text = m.Text;
Label2.Text = n.Text;
TextBox1.Text = m.Text;
TextBox2.Text = n.Text;
}

fakhravari
شنبه 19 آذر 1390, 13:37 عصر
بفرما :بوس:

http://msdn.microsoft.com/en-us/library/ms178139.aspx

reza erfani
شنبه 19 آذر 1390, 22:16 عصر
ممنونم دوستان عزیز فقط یکی میتونه به من بگه دقیقا این کد چکار میکنه و منظور چیه که ما این کد رو مینویسیم ؟ (فقط واسه یاد گرفتن پرسیدم ها ببخشید)

fakhravari
شنبه 19 آذر 1390, 22:32 عصر
کد خاصی نیست مقادیر که از پیج قبل ارسال میشه در پیج بعدی گرفته میشود و نوع فرمت ارسالی در نظر بگیرید