PDA

View Full Version : یه مشکل مسخره توی masterpage



hamed_bostan
یک شنبه 26 فروردین 1386, 19:32 عصر
با سلام
به یه مشکل خیلی مسخره بر خوردم
من یه سایت asp.net دازم که از masterpage استفاده می کنه و rolebase هم هست . 3 تا شاخه دارم که یکی admin هست و دیگری office و دیگری users که بر role های خودشون رو دارند . تمام اینها از روی فایل masterpage قالب می گیرن . توی فایل Masterpage خودم توی <body> عکس پشت زمینه ام رو اینطوری ست کرده بودم:


themes/default/images/back.gif


وقتی سایت اومد بالا فقط صفحه default که توی root اصلی بود عکس رو نشون داد و بقیه صفحاتم که توی شاخه ها بودن نشون ندارند .
عوضش کردم به :


./themes/default/images/back.gif


فرقی نکرد باز
تبدیل کردم به :


~/themes/defualt/images/back.gif

حالا صفحات داخل شاخه ام هم نشون نمی دن دیگه . یعتی نه صفحات توی شاخه هام و نه شاخه هاس اصلی هیچ کدون نشونش نمی دن .

کلافه شدم . چیکار کنم که تمام آدرس دهی ها از root اصلس شرروع شن؟

rtech
یک شنبه 26 فروردین 1386, 19:53 عصر
من هم دقیقا چنین مشکلی داشتم . جالب اینجاست که اگر یک فایل Masterpage دیگر در داخل فولدرهای به جز روت ایجاد کنید و مثلا Users که داخل فولدر Users هست را به آن نسبت دهید درست کار میکند ولی اگر فایل Masterpage ای که در روت هست رو به اون نسبت بدید تصاویر را نشان نمیدهد ! شما کافیست روی تصویری که نشان داده نمیشود راست کلیک و Properties را انتخاب کنید میتوانید ببینید که تصویری را که نشان نمیدهد میخواد از کجا لودش کنه و تصویر را که در آن شاخه کپی کنید مشکل حل میشه ! امیدوارم گیج نشده باشید !!!

rtech
یک شنبه 26 فروردین 1386, 20:08 عصر
من یکی از ویدئو های مایکروسافت به نام Membership And Roles رو که دیدم به این موضوع اشاره کرد و مشکلش رو به این شکل حل کرد :

از کنترل سرور Image به شکل زیر استفاده کرد :




<asp:Image ID="Image1" runat="server" ImageUrl="~/images/browser.gif" />



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

hamed_bostan
دوشنبه 27 فروردین 1386, 11:30 صبح
بله منم دیشب بعد از کلی search و دیدن همون video مایکروسافت فهمیدم که استفاده از ~ تنها در کنترل های سروری امکانپذیره و در html ای ها خیر .



جالب اینجاست که اگر یک فایل Masterpage دیگر در داخل فولدرهای به جز روت ایجاد کنید و مثلا Users که داخل فولدر Users هست را به آن نسبت دهید درست کار میکند ولی اگر فایل Masterpage ای که در روت هست رو به اون نسبت بدید تصاویر را نشان نمیدهد



ببینم یعنی منظورتون اینه که اگر masterpage رو داخل یه شاخه بذارم درست میشه؟

hamed_bostan
سه شنبه 28 فروردین 1386, 00:00 صبح
با سلام
مشکل من حل شد
اگر شما هم همین مشکل رو دارین یه stylesheet اضافه کنین به پروژه . بعئ عکس پشت زمینه تگ body رو عکستون بدارین و اون stylesheet رو تو masterpage خودتون بذارین حله .