PDA

View Full Version : حرفه ای: عدم ارسال query string از طریق response.redirect برای صفحه هایی از سایت که در فولدر دیگری قرار دارند



k.asasi_programmer
دوشنبه 09 فروردین 1389, 03:13 صبح
با سلام حدمت دوستان عزیز
مشکلی که من دارم این است که نمی توانم query string از صفحه فعلی توسط response.redirect برای صفحاتی که در فولدر دیگری قرار دارند بفرستم .

مثلا فرض کنید سایت من از فولدر login/login.aspx و user/user.aspxتشکیل شده است.
من درفرم login/login.aspx کد زیر را نوشته ام.
(Response.Redirect("~/user/user.aspx?Nam="+namTextBox.text
ولی وقتی می خواهد برنامه این دستور را اجرا کند ،با خطای زیر روبرو می شوم.
The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /WebSite/Login/~/user/user.aspx
ولی وقتیquery string را به صفحه user.aspx ارسال نمی کنم بدون هیچ مشکلی صفحه لود می شود.
خیلی ممنونم از کمکتان.من هر چه در اینترنت و سایت جستجو کردم نتیجه ای نگرفتم.:قلب:

emad_ban
دوشنبه 09 فروردین 1389, 09:06 صبح
بجای خاصیت text یه مقدار دستی بده ببین همین مشکلو داره

iman_ad
دوشنبه 09 فروردین 1389, 10:04 صبح
با سلام حدمت دوستان عزیز
مشکلی که من دارم این است که نمی توانم query string از صفحه فعلی توسط response.redirect برای صفحاتی که در فولدر دیگری قرار دارند بفرستم .

مثلا فرض کنید سایت من از فولدر login/login.aspx و user/user.aspxتشکیل شده است.
من درفرم login/login.aspx کد زیر را نوشته ام.
(Response.Redirect("~/user/user.aspx?Nam="+namTextBox.text
ولی وقتی می خواهد برنامه این دستور را اجرا کند ،با خطای زیر روبرو می شوم.
The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /WebSite/Login/~/user/user.aspx
ولی وقتیquery string را به صفحه user.aspx ارسال نمی کنم بدون هیچ مشکلی صفحه لود می شود.
خیلی ممنونم از کمکتان.من هر چه در اینترنت و سایت جستجو کردم نتیجه ای نگرفتم.:قلب:
از این استفاده کن ببین مشکل حل می شه؟
((Response.Redirect(Page.ResolveUrl("~/user/user.aspx?Nam="+namTextBox.Text

exlord
دوشنبه 09 فروردین 1389, 11:52 صبح
Response.Redirect("../user/user.aspx?Nam=" + namTextBox.text);

k.asasi_programmer
دوشنبه 09 فروردین 1389, 13:38 عصر
از این استفاده کن ببین مشکل حل می شه؟
((Response.Redirect(Page.ResolveUrl("~/user/user.aspx?Nam="+namTextBox.Text



اقا ایمان با تشکر از حسن توجهه تان
من این دستوری که گفتید امتحان کردم ولی بازم هنور خطای بالا را می دهد

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable. Please review the following URL and make sure that it is spelled correctly.

Requested URL: /WebSite/Login/~/user/user.aspx.

میشه بیشتر درمورد Page.ResolveUrlتوضیح بدهید؟باتشکر

k.asasi_programmer
دوشنبه 09 فروردین 1389, 13:46 عصر
Response.Redirect("../user/user.aspx?Nam=" + namTextBox.text);


exlord جان خیلی ممنون
این دستور جواب نداد.حتی در حالتی که query string ارسال نمی شود.
کار دیگری به نظرتان نمی شود کرد؟ممنون

k.asasi_programmer
دوشنبه 09 فروردین 1389, 13:55 عصر
بجای خاصیت text یه مقدار دستی بده ببین همین مشکلو داره
اقا عماد با سپاس
پیشنهادی که دادید ،با موفقیت انجام شد ولی نمی دونم چرا در حالتی که می خواهد از TextBox بخواند این مشکل پیش می آید.آیا باید محتوی Text Box را convert کنم؟
با تشکر

exlord
دوشنبه 09 فروردین 1389, 14:41 عصر
exlord جان خیلی ممنون
این دستور جواب نداد.حتی در حالتی که query string ارسال نمی شود.
کار دیگری به نظرتان نمی شود کرد؟ممنون

رو سیستم من جواب میده .... برا شما همون error قبلی رو میده؟

iman_ad
دوشنبه 09 فروردین 1389, 15:04 عصر
متدی که گفتم مسیر نسبی نسبت به درکتوری برنامه می گیره و مسیر نسبی صحیح بر می گردونه.
فرض کن یک virual directory داشته باشیم مسیر default.aspx/~ به default.aspx/vitualdirectory/ تبدیل می شه

iman_ad
دوشنبه 09 فروردین 1389, 15:06 عصر
سورس قرار بده ببینم مشکل چیه

k.asasi_programmer
دوشنبه 09 فروردین 1389, 15:55 عصر
رو سیستم من جواب میده .... برا شما همون error قبلی رو میده؟

سورس قرار بده ببینم مشکل چیه
دوستان عزیزم
تازه فهمیدم که مثالی که مطرح کردم در این حالت جواب می دهد ولی وقتی بخواهیم در یک صفحه زمان را محاسبه کرده و به صفحه بعد بفرستیم با این خطا که قبلا گفتم مواجهه می شویم.
من siteام رامی فرستم .از راهنماییتان ممنون می شوم .
با تشکر و اظهار شرمندگی :خجالت:

iman_ad
دوشنبه 09 فروردین 1389, 16:45 عصر
دوستان عزیزم
تازه فهمیدم که مثالی که مطرح کردم در این حالت جواب می دهد ولی وقتی بخواهیم در یک صفحه زمان را محاسبه کرده و به صفحه بعد بفرستیم با این خطا که قبلا گفتم مواجهه می شویم.
من siteام رامی فرستم .از راهنماییتان ممنون می شوم .
با تشکر و اظهار شرمندگی :خجالت:


DateTime dt = DateTime.Now; ;
Response.Redirect("~/Login/Login.aspx?Name="+TextBox1.Text+"&Date="+dt.ToString("dd/MM/yyyy"));

موفق باشید.

k.asasi_programmer
دوشنبه 09 فروردین 1389, 18:05 عصر
DateTime dt = DateTime.Now; ;
Response.Redirect("~/Login/Login.aspx?Name="+TextBox1.Text+"&Date="+dt.ToString("dd/MM/yyyy"));

موفق باشید.

با تشکر از دوست جدیدم آقا ایمان
با کمکی که شما کردید مشکل من تا حد زیادی حل شد.خودمم یک سرچی در مورد کدتان زدم و به فرمت دلخواهم که شامل سال و ساعت و ق ظ یا ب ظ بودن، رسیدم. :تشویق:


DateTime dt = DateTime.Now ;
string s;
s = string.Format("{0:G}", dt);
Response.Redirect("user2.aspx?Name=" + TextBox1.Text + "&Date=" +s);

اگر کد قابل فهم تری در ذهن دارید قرار دهید.
در نهایت از دوباره سایت را می فرستم تا کاربرانی که مشکل من را دارند، با توجه به این سایت مشکلشان را حل کنند.
در پایان از همه دوستان مجددا تشکر می کنم و برایشان آرزوی موفقیت می کنم.:لبخندساده:

iman_ad
دوشنبه 09 فروردین 1389, 18:21 عصر
بهتره از متد String.Format استفاده کنی تا جمع کردن چند String

Response.Redirect(String.Format("user2.aspx?Name={0}&Date={1:G}",TextBox1.Text,dt));