PDA

View Full Version : مشکل جدی در ایجاد پیوند بین صفحات



astary.hosein
یک شنبه 27 اسفند 1391, 00:18 صبح
سلام دوستان ؛
می خواستم بدونم اگر ما در یک پوشه ی تودر تو باشیم و بخواهیم با کلیک بر روی "صفحه ی اصلی " به این صفحه که در root پروژه قرار دارد برگردیم باید چیکار کنیم؟
مثلا فرض کنید در آدرس زیر هستیم :
localhost:/my site/folder1/subfolder1
و حالا می خواهیم به صفحه ی اصلی که در localhost:/my site می باشد برگردیم.
یا مثلا در این آدرس:
localhost:/my site/folder1/subfolder1/Subfolder2

saeed31641
یک شنبه 27 اسفند 1391, 08:30 صبح
ادرس نسبی باید استفاده کنی
my site/folder1/subfolder1/Subfolder2/~

/../.. یا از این روش

astary.hosein
یک شنبه 27 اسفند 1391, 15:19 عصر
من در لینک "صفحه اصلی" نوشتم:

~/Default.aspx
اما وقتی کلیک می کنم ؛در نوار آدرس مینویسه :
mysite/~/Default.aspx
و از /.. هم نمی توانم استفاده کنم ؛چون معلوم نیست از کدام پوشه میخواهد به rootبرگرده .

astary.hosein
دوشنبه 28 اسفند 1391, 22:00 عصر
فکر نمیکنم این مشکل زیاد سخت باشه . چرا که هر کس بخواد کوچکترین سایتی هم بنویسه ،با این مساله برخورد میکنه .
دوستان ،راهنمایی کنید لطفا .

PhoenixNet
سه شنبه 29 اسفند 1391, 01:18 صبح
سلام


/Default.aspx

fakhravari
سه شنبه 29 اسفند 1391, 03:26 صبح
هایپرلینک داستان حل میکنه.

clover
سه شنبه 29 اسفند 1391, 08:47 صبح
هایپرلینک داستان حل میکنه.
برادر من یه جوری راهنمایی کن بقیه هم متوجه بشن :لبخندساده:

همونطور که جناب فخراوی گفتند شما باید از هایپر لینک استفاده کنید یا اینکه به تگ a مورد نظرتون "runat="server بدید. چون اون علامت مد ~ رو فقط کنترل های سمت سرور می شناسند. در حالت عادی هم برای مشخص کردن ریشه ی سایت باید از / استفاده کنید:

/Default.aspx

اما از اونجایی که سایت شما در حالت عادی در ریشه اجرا نمیشه و در شاخه ی mysite داره اجرا میشه باید از این آدرس استفاده کنید:

/mysite/Default.aspx

اما بعدا موقع آپلود مجددا باید همه ی آدرس ها رو تغییر بدید (روی هاست سایت شما از ریشه اجرا میشه). سه تا راه دارید:

1. تماما از کنترل های سمت سرور استفاده کنید.
2. از قسمت Properties سایت مورد نظر آدرس اجرای سایت رو به / تغییر بدید.
3. از متد ResolveUrl استفاده کنید:

<a href="<%= Page.ResolveUrl("~/Default.aspx") %>">صفحه اصلی</a>

استفاده از آدرس دهی نسبی رو هم می خواستم به عنوان چهارمین راه حل بیارم اما هم دردسر محاسبه آدرس ها رو داره و هم توی مستر پیج قابل استفاده نیست.

موفق باشید.

astary.hosein
سه شنبه 29 اسفند 1391, 22:16 عصر
دوستان عزیز ؛ممنون از راهنمایی هاتون؛
اگر این طوری که میگید باشه ،اینکه باید بعدا موقع آپلود روی هاست ،آدرس هامو تغییر بدم ،نشون میده که کار من اشتباه بوده ،چون اینکار اصلا معقولانه نیست.

2. از قسمت Properties سایت مورد نظر آدرس اجرای سایت رو به / تغییر بدید.
من این راه حل شما رو انجام دادم . این آدرس ،اول اینطوری بود
/mysite و حالا به / تغییرش دادم .
قبلا در زمان اجرا ،در نوار آدرس ،این آدرس میفتاد
http://localhost:2995/Mysite/ ولی الان این شد :
http://localhost:2995
حالا که ان تغییر رو دادم ، از کدام روش که معقول تره استفاده بکنم ؟
اینکه به همه تگ های a بگم که بر روی سرور اجرا بشن و آدرس رو به این سبک بدم:
~/Default.aspx
میشه متداول ترین روش رو بگید ؟
ممنون

clover
سه شنبه 29 اسفند 1391, 23:14 عصر
حالا که ان تغییر رو دادم ، از کدام روش که معقول تره استفاده بکنم ؟
از هر روشی که علاقه دارید، برای کنترل های غیر سروری و سروری می تونید به هر دو روش نسبی یا مطلق عمل کنید. علاوه بر این در مورد کنترل های سمت سرور هم می تونید از ~ هم استفاده کنید.

به هر حال در جایی که نیاز به کنترل های سمت سرور ندارید معقول نیست که صرفا به خاطر آدرس دهی از این کنترل ها استفاده کنید.

موفق باشید