PDA

View Full Version : سوال: مشکل با تابع live



mahdidabaghi
سه شنبه 08 اسفند 1391, 01:03 صبح
سلام به اساتید
همونطور که دوستان میدونن متد live (که بهتره از این به بعد از متد on استفاده بشه) میاد و توابعی رو که در صفحات دیگه هستند و ما این صفحات رو به صورت ایجکسی (.load)یاز میکنیم رو به dom میشناسونه یا همون اصطلاحا زنده نگه میداره!!!
حالا من کد صفحه default2.aspx رو به صورت زیر نوشتم:

<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
<div id="show">
<script>

$("#btn").live("click", function () {
alert('successfull');
});

</script>
<input type="button" value="Click Me" id="btn" />
</div>
</asp:Content>

و در صفحه default1.aspx یه لینک به صورت زیر گذاشتم :

<a id="a1"></a>
و در نهایت توی همین صفحه اسکریپت مورد نطر رو برای لود Default2.aspx یه صورت ایجکسی به صورت زیر قرار دادم:

$(document).ready(function () {
var sections = $("a");
var content = $("#show");
sections.click(function () {
switch (this.id) {
case "a1":
content.load("Default1.aspx? #show");
break;
}
});
});

ولی متاسفانه وقتی به صورت ایجکسی به صفحه Default2.aspx میرم دیگه دکمه مورد نطر کار نمیکنه.
در ضمن هر دو صفحه از master page یکسانی ارث میبرند
ببخشید طولانی شد.ممنون میشم راهنمایی بفرمایید کجایه کارم ایراد داره که جواب نمیگیرم

mahdidabaghi
سه شنبه 08 اسفند 1391, 13:41 عصر
دوستان لطفا کمکی برسونید

mahdidabaghi
پنج شنبه 10 اسفند 1391, 03:24 صبح
من با اجازه اساتید یه نمونه از کاری که قراره انجام بدم رو اینجا میذارم.یک سری توضیحات هم در صفحه Default2.aspx اون قرار دارم .
انشا الله که دوستان اینجوری راهنمایی کنن

Himalaya
پنج شنبه 10 اسفند 1391, 11:12 صبح
سلام.

content.load("Default2.aspx? #show");
اون Space که قبل از # افتاده رو حذف کن یا کلا show# رو حذف کن. مشکلت حل میشه. بعد اینکه یوزرکنترلت احتیاجی به تگ Html,Body نداره و اینکه صفحه دوم اگه فقط واسه لود شدن تو یه بخش از صفحه اول طراحی شده، نیاز نیست مسترپیج داشته باشه و در نهایت اینکه واسه یه همچین کاری به جای صفحه دوم از یه صفحه معمولی Html استفاده کن

mahdidabaghi
پنج شنبه 10 اسفند 1391, 12:24 عصر
اون Space که قبل از # افتاده رو حذف کن یا کلا show# رو حذف کنمهندس ازت خیلی ممنونم.اینجوری جواب داد.ولی مشکل تازه ای که پیش میاد اینه که وقتی روی لینک کلیک میکنم و به صفحه دوم هدایت میشه اینبار توی صفحه دوم بجای یک لینک دوتا لینک وجود داره.

بعد اینکه یوزرکنترلت احتیاجی به تگ Html,Body ندارهبابت این نکته هم تشکر میکنم

اینکه صفحه دوم اگه فقط واسه لود شدن تو یه بخش از صفحه اول طراحی شده، نیاز نیست مسترپیج داشته باشهحقیقت من یه مسترپیج درست کردم واسه صفحه مدیریت سایت و توی این مستر پیج تعدادی یوزر کنترل قرار دادم(یجورایی شبیه همون سمپل بالا)مثلا یوزر کنترل مدیریت کاربران و مدیریت پست ها و ... .حالا وقتی کاربر روی مثلا همون لینک مدیریت کاربران کلیک میکنه به صورت ایجکسی صفحه مدیریت کاربران لود میشه(که این صفحه هم از مسترپیج به ارث میبره) که تو این صفحه عملیات حذف و اپدیت و دلیت .... اتفاق میفته.
من با اجازتون دو تا عکس میذارم تا متوجه عرایضی که گفتم بشین
100670


100671

Himalaya
پنج شنبه 10 اسفند 1391, 12:48 عصر
مشکل تازه ای که پیش میاد اینه که وقتی روی لینک کلیک میکنم و به صفحه دوم هدایت
میشه اینبار توی صفحه دوم بجای یک لینک دوتا لینک وجود داره.

واسه اینه که صفحه دومت هم مستر پیج داره. مستر پیجت هم همون مستر صفحه اوله. تو این مستر پیج هم یه یوزر کنترل داری لینک رو هم گزاشتی تو این یوزر کنترل. طبیعی هستش که 2 تا لینک ظاهر بشه

mahdidabaghi
پنج شنبه 10 اسفند 1391, 18:16 عصر
واسه اینه که صفحه دومت هم مستر پیج داره. مستر پیجت هم همون مستر صفحه اوله. تو این مستر پیج هم یه یوزر کنترل داری لینک رو هم گزاشتی تو این یوزر کنترل. طبیعی هستش که 2 تا لینک ظاهر بشه
حرف شما درست.ولی پروژه ای که دارم روش کار میکنم همونطور که عکس های اون رو در پست بالا قرار دادم به این صورته که تمام صفحات مدیریت سایت از یک مستر پیج ار بری میکنند.و اون #show هم که شما فرمودین حذفش کنم از ایجاد 2 تا لینک جلوگیری میکنه ولی باز رویداد کلیک دکمه از کار میفته.
ایا وافعا نمیشه یه ترفندی به کار برد که پروژهمو رو به همین صورتی که عرض کردم بشه این مشکلاتشو(هر دو مشکل بحث شده) رو حل کرد؟

Himalaya
پنج شنبه 10 اسفند 1391, 18:54 عصر
ولی پروژه ای که دارم روش کار میکنم همونطور که عکس های اون رو در پست بالا قرار
دادم به این صورته که تمام صفحات مدیریت سایت از یک مستر پیج ار بری میکنند

آقا شما بالاخره Default2 رو یا میخواید تو یه بخش از صفحه Default لود کنی یا به صورت یه صفحه مجزا نشون بدی به کاربر. (اون طور که از کدات مشخصه، حالت اوله)
تو حالت اول نیازی نیست Default2 مسترپیج داشته باشه. استفاه از مسترپیج زمانی توجیه پذیره که بخوای حالت دوم رو داشته باشی. (واسه همین بهت پیشنهاد کردم حتی صفحات aspx رو برار کنار و از html استفاده کن. گفتم پیشنهاد که نگی نه حتما باید aspx باشه) :گریه:


و اون #show هم که شما فرمودین حذفش کنم از ایجاد 2 تا لینک جلوگیری میکنه ولی
باز رویداد کلیک دکمه از کار میفته.

من گفتم

اون Space که قبل از # افتاده رو حذف کن یا کلا show# رو حذف کن.
شما اد رفتی سر قسمت دوم or


ولی باز رویداد کلیک دکمه از کار میفته.
واسه این که همه چیز رو داری تو دل همدیگه لود میکنی. به هرحال اگه برنامت هم مثل این مثالی که فرستادی باشه، باید یه بازنگری بکنی.

موفق باشی

mahdidabaghi
پنج شنبه 10 اسفند 1391, 23:09 عصر
آقا شما بالاخره Default2 رو یا میخواید تو یه بخش از صفحه Default لود کنی یا به صورت یه صفحه مجزا نشون بدی به کاربر. (اون طور که از کدات مشخصه، حالت اوله)عرضم به حضورت بشه که من حالت دوم رو دارم پیاده میکنم (یعنی یک صفحه مجزا رو به کاربر نشون میدم)

من گفتم
اون Space که قبل از # افتاده رو حذف کن یا کلا show# رو حذف کن.


شما اد رفتی سر قسمت دوم orمهندس جون طبق گفته خودتون فرقی نداره که space رو حذف کنم یا Show# رو.من هم show# رو حذف کردم.البته همونجور که گفتم دوتالینکه میشه (اگر هم space رو حذف میکردم باز هم همین مشکل پیش میومد):گریه:
به نظر خودم (البته جسارت نشه که شما استاد منی) باید اون show# وجود داشته باشه و البته با space قبلش.
ولی باید یه روشی وجود داشته باشه که بشه اینجور صفحات رو به صورت ایجکسی بدون دردسر فراخونی کرد.

واسه این که همه چیز رو داری تو دل همدیگه لود میکنی.چیزی که تو ذهن منه راه اندازی یه صفحه مدیریتی برای سایت به صورت فول ایجکسه.(البته بدون استفاده از Ms Ajax یا کنترل های مشابه و به جای اونا استفاده از Jquery-ajax و json و web service )
تقریبا کارم تمومه و فقط همین فراخونی ها که عرض کردم مونده.و به ناچار همه چیز تو در تو شده
دوست گرامی.میدونم که تا الانم بسیار به من محبت داشتی که راهنمایی هاتونو ببدون چشم داشتی ارائه کردی.
ولی اگه بشه با کمک شما و سایر دوستان این شاخ غول(البته واسه من مبتدی ) رو بشکنم یه دنیا ممنون میشم و دعا گوی شما.:ناراحت:

mahdidabaghi
سه شنبه 15 اسفند 1391, 19:15 عصر
دوستان نظر یا پیشنهادی ندارن؟
خوشحال میشم نظراتتونو داشته باشم

mahdidabaghi
دوشنبه 21 اسفند 1391, 17:07 عصر
سلام
یعنی از دوستانی که این تایپیک رو میبینند تا حالا بغیر از جناب گرامی دیگه ای به این موضوع حتی فکر هم نکرده؟؟؟؟؟؟؟؟؟(که بعید میدونم)
از اساتیدی که این تایپیک رو میخوون تقاضا دارم یه راه حل برای روشی که عرض کردم جلوی بمده بذارن.کل نت رو شخم زدم ولی به جواب ایده آلی که مد نظرم هست نرسیدم
سپاس از دوستان برنامه نویس که همیشه یار و یاور امثال من بوده اند

na_des
دوشنبه 21 اسفند 1391, 22:23 عصر
سلام . این همون sample که karaji333 گفته :
101283

mahdidabaghi
سه شنبه 22 اسفند 1391, 18:04 عصر
سلام مجدد.جناب na_des بابت مثالتون بسیار ممنونم.کمک خیلی بزرگی بهم کردین.حقیقت یه دکمه تشکر واسه این کمکتون خیلی کمه.از مهندس عزیز karaji333 هم که تو این تایپیک بنده رو راهنمایی کردن تشکر میکنم.

na_des
چهارشنبه 23 اسفند 1391, 15:45 عصر
سلام مجدد.جناب na_des بابت مثالتون بسیار ممنونم.کمک خیلی بزرگی بهم کردین.حقیقت یه دکمه تشکر واسه این کمکتون خیلی کمه.از مهندس عزیز karaji333 هم که تو این تایپیک بنده رو راهنمایی کردن تشکر میکنم.

سلام مجدد دوسته عزیز , خواهش میکنم قابلی نداشت ,خوشحالم مشکلتون حل شده :لبخندساده:
زحمت اصلی با karajii333 بوده .
موفق باشید .

na_des
چهارشنبه 23 اسفند 1391, 15:47 عصر
سلام مجدد.جناب na_des بابت مثالتون بسیار ممنونم.کمک خیلی بزرگی بهم کردین.حقیقت یه دکمه تشکر واسه این کمکتون خیلی کمه.از مهندس عزیز karaji333 هم که تو این تایپیک بنده رو راهنمایی کردن تشکر میکنم.

راستی دوسته عزیز شما مشهد زندگی میکنید نایب الزیاره ما هم باشید , التماس دعا :لبخندساده: