‫راه افتادن در ASP.NET MVC و jQuery

به خاطر پروژه‌ای که درگیرش هستم باید ASP.NET MVC و jQuery را هم بلد باشم. بخش MVC پروژه خیلی وقت است که شروع شده ولی jQuery آن تازه به جریان افتاده است. اولین استفاده از jQuery مربوط به است به نمایش یک Popup و دریافت اطلاعات از طریق آن. هنوز دستم در MVC و jQuery آنقدر راه نیفتاده که بتوانم در مورد بخشی از آن چیزی بنویسم ولی انتقال اولین تجربه‌های این دو خالی از لطف نیست.

استفاده از MVC برای کسی که مدت‌ها برنامه‌نویس ASP.NET WebForm بوده تجربه دلهره‌آوری است. از روی شنیده‌ها می‌دانستم که MVC بخشی از کارهای خودکار WebForm را که باعث جدایی برنامه‌نویس و ماهیت طبیعی HTML و Web شده بود را حذف کرده است. یعنی در MVC از یک جایی به بعد این خود برنامه‌نویس است که باید ارتباط Server و Client را برقرار کند. هر چقدر که پروژه بیشتر جلو می‌رفت حس می‌کردم که فاصله‌ام با جدایی موعود کمتر و کمتر می‌شود. حسی شبیه به take-off هواپیما از روی زمین، با کمی اغراق.

فکر می‌کنم که دیروز این لحظه جدایی فرا رسید و من یاد گرفتم که چطور یک Form را با کمک Html.BeginForm در MVC بسازم، اطلاعات آن را با کمک ‎$(“#FormId”).serialize()‎ و ‎$.post()‎ در jQuery به سرور ارسال کنم و در نهایت در سرور با استفاده از متودی در Controllerهای تعریف شده MVC سمت سرور اطلاعات را دریافت کرده و مورد پردازش قرار دهم.

حالا که آن دلهره را پشت سر گذاشته‌ام (اقلاً بخشی از آن را)، آن حس تبدیل به حسی شیرین و ظفرمندانه شده است. علاوه بر این حس می‌کنم بعد از مدت‌ها توانسته‌ام با کد client side آشتی کرده و با احترام با آن برخورد کنم. در این رابطه باید ممنون پروژه و راهنمایی مفید یک سایت باشم.

Comments

  1. shahin kiassat

    کار کردن با jQuery در ASP.NET MVC ساده تر از ASP.NET Web Form هست.
    همین مثالی که شما درباره Form serialize و طبعا load کردن یک view در div و انجام اعمال سرور ساید در آن ذکر کردید اگر در web form قرار به پیاده سازی بود اولین مشکلی پیش می آمد تداخل viewstate بارگزاری شده با viewstate صحفه ی جاری بود.

  2. Mordadi_63

    یاد گرفتن mvc واسه من خیلی سخت بود. بخصوص که تنهایی این کار رو شروع کردم. ساده ترین کارها واسم کلی طول کشید که انجام بدم. بالاخره تونستم یه برنامه تستی ساده رو باهاش انجام بدم. ولی الان که نگاه می کنم می بینم اونقدرها هم وحشتناک نبود. آموزشش خیلی طول میکشه. کار باهاش اونقدرها سخت نیست. البته من client side  رو زیاد کار کردم تو  web form . ولی راستش هنوز جرات ندارم یه کار واقعی رو باهاش شروع کنم! نظر شما چیه؟

  3. afsharm

    قدیم‌ترها یک بار تو دام ViewState افتاده بودم، در یک برنامه Web Scraping. مجبور بودم همیشه ViewState و یک متغیر دیگر را نگه داشته و با درخواست‌های بعدی بفرستم.

  4. A. Karimi

    افشار اگر می‌خواهی اطلاعات یک فرم رو به صورت Ajax به سمت سرور پاس بدی. از Ajax.BeginForm استفاده کن من خیلی خوشم می‌یاد ازش. مثل UpdatePanel خودمونه ولی فوق العاده سبک (از این سبکتر نمیشه!)، نیازی به کد نویسی JS نداره و عالی کار می‌کنه.

  5. afsharm

    راستش رو بخای اول از همین Ajax.BeginForm و یک چیز مشابه دیگه استفاده کردم ولی چون نتونستم ازش استفاده کنم از خیرش گذشتم. شاید پارامترهاش رو درست set نکرده بودم.

  6. A. Karimi

    فقط نکته‌ای که داره اینه که کنترلری که بهش جواب می‌ده باید خروجیش از نوع PartialViewResult باشه. و البته باید id المانی که می‌خوایی بعد از Request بروزرسانی بشه رو هم به Optionهای Ajax.BeginForm بدی. ولی قبول دارم که کلاً MVC بدون jQuery معنی نداره. بلاخره باید با jQuery مستقیم کار کنی مخصوصاً کارهای Web 2.0 کدهای JS بیشتر از CS میشه.

    موفق باشی.

  7. Amir Hashem Zadeh

    خیلی حس جالبیه، من هم مثل شما در حال یادگیری MVC هستم البته تازه کارم، میخواستم ببینم شما برای شروع چی رو پیشنهاد میکنین؟

    فکر کنم تجربه شما خیلی بمن کمک بکنه.

  8. ناصر طاهری

    من حدودا یک ساله که قصد یادگیری MVC رو دارم.اما یکی اینکه سیستمم اجازه نمیداد :))
    دوم اینکه میترسیدم نتونم کارایی که با WebForm انجام میدادم با MVC انجام بدم. اما الان دیگه میخوام شروع کنم.
    شما منبع خوبی سراغ دارین؟ فارسی و اگه نبود انگلیسی؟

  9. afsharm

    @ناصر، امیر:
    من خودم با کتاب Apress Pro ASP.NET MVC 3 Framework by Adam Freeman and Steven Sanderson شروع کردم ولی دوستان دیگر کتاب Wrox Professional ASP.NET MVC 3 را پیشنهاد کرده‌اند. هنوز کتاب دوم را ندیده‌ام ولی به احتمال زیاد من هم با آن ادامه دهم. اطلاعات بیشتر: http://blog.afsharm.com/2011/12/pro-aspnet-mvc-3.html

  10. فرزان

    واسه منی که سالها با asp classic کار کردم یه اتفاق لذت بخشه. چون از کدهای پشت فحه ساخته شده و خودکار دات نت متنفرم. دوس دارم خدوم همه چی رو هدایت کنم

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *