‫۱۲ سال و ۶ ماه قبل، شنبه ۱۲ فروردین ۱۳۹۱، ساعت ۰۵:۵۵
شاید مطالبی که من عنوان کردم این برداشت را به وجود آورده که MVC در مورد UI/UX بحث می‌کند؟
پاسخ اینکه، خیر. بحث ما در اینجا برنامه نویسی وب است نه طراحی رابط کاربری. MVC نظری در مورد دومین شما، در مورد لایه بندی دسترسی به داده‌ها، در مورد استفاده از ORM و غیره ندارد. به همین ترتیب در مورد اینکه ظاهر برنامه رو هم به چه نحوی طراحی کنید، نظری ندارد. اینجا شما آزاد هستید که مطابق روش‌های دیگری که فکر می‌کنید مفید هستند عمل کنید. بحث ما در اینجا جدا سازی منطق برنامه از لایه نمایشی است، برای اینکه بتونیم اون رو تست کنیم. در وب فرم‌ها این منطق به لایه نمایشی گره خورده. در MVC این دو از هم جدا شدن.
بنابراین به صورت خلاصه MVC نظری در مورد نحوه طراحی رابط کاربری و همچنین نحوه دسترسی به اطلاعات ندارد. نمیاد به شما بگه باید از مثلا EF استفاده کنید یا NH . یا اینکه از فلان فریم ورک CSS باید استفاده کنید یا خیر. دسترسی پذیری سایت شما چگونه باید باشد. ترکیب رنگ‌های آن چگونه باید باشد. این‌ها خارج از بحث MVC هستند.
در مورد UI/UX یک سری سایت و وبلاگ فعال و خوب هستند که به نظرم دنبال کردن اون‌ها خیلی مفید است. مثلا:
uxbooth
uxmag
uxmovement
smashingmagazine
‫۱۲ سال و ۶ ماه قبل، شنبه ۱۲ فروردین ۱۳۹۱، ساعت ۰۴:۰۳
- به قسمت کار با Ajax در ASP.NET MVC که برسیم، کتابخانه برگزیده، jQuery است. بنابراین لازم است از همین الان اطلاعاتی را در این مورد داشته باشید (^).
- برای طراحی CSS بین برنامه نویس‌های دات نت، فریم ورکی به نام LESS خیلی محبوبیت دارد (^).
- کتابخانه‌های جاوا اسکریپتی سمت کلاینت معنا پیدا می‌کنند. بنابراین آنچنان وارد بحث ASP.NET که سمت سرور است نمی‌شوند مگر اینکه کمک حالی در این رابطه باشند مانند jQuery. یا البته جاوا اسکریپت سمت سرور هم به نام نودجی‌اس وجود دارد که بحث دیگری است. در کل حین کار با جاوا اسکریپت دست بازتر است چون داخل مرورگر کاربر اجرا می‌شود که stateful است (مثل برنامه‌های سیلورلایت). به همین جهت کتابخانه MVVM هم برای جاوا اسکریپت وجود دارد (^). جالب اینجا است که این کتابخانه MVVM توسط یکی از اعضای تیم ASP.NET MVC طراحی شده.
‫۱۲ سال و ۶ ماه قبل، جمعه ۱۱ فروردین ۱۳۹۱، ساعت ۲۳:۳۹
یک سری از اشیاء، اشیاء توکار ASP.NET هستند مانند Request، Response، Server، Application و Session و در فضای نام System.Web تعریف شده‌اند. این اشیاء جزو ASP.Net Runtime هستند و در تمام فریم ورک‌هایی که بر این پایه تهیه شده‌اند قابل دسترسی هستند.
برای نمونه کار شیء Response نمایش اطلاعات به کاربر، تغییرات اعمالی بر روی هدر ارسالی (مثلا ارسال هدر وضعیت 403 یا 404 و امثال آن)، ارسال کوکی‌ها، تنظیم کش و یا انتقال کاربر به مکانی دیگر است (^).
این نوع اشیاء برای اینکه قابل استفاده باشند نیاز است تا یک وب سرور داشته باشیم، در غیراینصورت نال خواهند بود. برای مثال اگر متد Response.Write در حین یک Unit test فراخوانی شود، قابل آزمایش نخواهد بود مگر اینکه مراحل ست آپ وب سرور و وهله سازی HttpContext طی شود (که کار پر دردسری است). MVC یک لایه abstraction بر روی این اشیاء ایجاد کرده تا در حین انجام آزمون‌های واحد درگیر این مراحل نشویم.
‫۱۲ سال و ۶ ماه قبل، پنجشنبه ۱۰ فروردین ۱۳۹۱، ساعت ۱۷:۱۵
من نگفتم MS-PL متن باز نیست. این مجوز پذیرفته شده OSI است (^).
متن باز بودن هم به معنای آزادی مطلق نیست. مثلا مجوز GPL به شما می‌گه که من سورس کارت رو هم می‌خوام اگر از کتابخانه من استفاده کردی یا اینکه باید با من به نحوی کنار بیای و هماهنگ کنی.
یا مجوز MIT می‌گه من نمی‌خوام و مهم نیست؛ یک تشکر برای من کافی است.
مجوز MS-PL بیشتر معنای (Shared source) رو از طرف مایکروسافت داره. به عبارتی مجاز هستید در فرم بایناری در هر نوع پروژه‌ای از آن استفاده کنید. اما در حالت سورس، فقط جهت مرور و یا یافتن مشکلات امنیتی یا بررسی‌های امنیتی در اختیار عموم قرار گرفته است (مثلا بعضی از دولت‌ها به این مساله حساس هستند و سورس رو جهت بررسی امنیتی نیاز دارند). اما با این حال:
- مجاز هستید سورس رو تغییر بدید و حتی بفروشید اما باز هم تحت مجوز MS-PL
- اگر کاری جدیدی بر مبنای این سورس (نه بایناری آن که عنوان شد) تهیه شود، هم باید سورس را ارائه دهید و هم باز هم کل کار باید تحت مجوز MS-PL باشد.

رفتار مایکروسافت با این مجوز خاص خودش، فقط خواندنی است. یعنی پچی رو قبول نمی‌کنه.
به همین جهت این رفتار رو اخیرا اصلاح کردن و به مجوز آپاچی نقل مکان کردند و از حالت shared code فقط خواندنی بیشتر جهت بررسی‌های امنیتی و مرور کد، به یک حالت پویاتر تبدیل شده.
‫۱۲ سال و ۶ ماه قبل، پنجشنبه ۱۰ فروردین ۱۳۹۱، ساعت ۱۴:۱۳
سلام، این مورد در دو کلاس ManyToManyConventions و NamingConventions قابل تنظیم است. پیش فرض آن‌ها بر این مبنا است که شما حداقل کار ممکن رو بخواهید به صورت دستی انجام بدید. اگر علاقمند بودید این‌ها را تغییر بدید مثلا در کلاس ManyToManyConventions، Cascade.DeleteOrphans را جستجو کنید. یک enum ساده است. این رو تغییر بدید به حالتی که مدنظر است. شبیه به همین مورد در کلاس NamingConventions در دو متد ReferenceConvention و OneToManyConvention وجود دارد.
‫۱۲ سال و ۶ ماه قبل، چهارشنبه ۹ فروردین ۱۳۹۱، ساعت ۱۶:۳۰
- خیر. ولی ممکن است یک نفر مستقیما مسیر http://localhost/Home/ShowError را در مرورگر وارد کند که کار غیرمجازی نیست. در این حالت TempData نال خواهد بود چون منشاء آن یعنی http://localhost/Home/InsertData پیشتر فراخوانی نشده است.
- یک سری فریم ورک CSS این روزها خیلی باب است. یک دوره آموزشی هم در این زمینه اینجا هست: (A Better CSS: LESS and SASS)
‫۱۲ سال و ۷ ماه قبل، سه‌شنبه ۸ فروردین ۱۳۹۱، ساعت ۲۱:۲۶
از اینجا می‌تونید دریافت کنید: (^)
اگر از ویندوزهای بعد از XP استفاده می‌کنید که هیچ. اگر نه نیاز به فونت Consolas هم دارید که از سایت مایکروسافت قابل دریافت و نصب است: (^)
‫۱۲ سال و ۶ ماه قبل، شنبه ۲۶ فروردین ۱۳۹۱، ساعت ۰۳:۴۱
به صورت رسمی خیر. MVC3 بر مبنای دات نت 4 تهیه شده که در VS 2008 پشتیبانی نمیشه.
‫۱۲ سال و ۷ ماه قبل، سه‌شنبه ۸ فروردین ۱۳۹۱، ساعت ۰۵:۱۱
یکی از راه‌های مدیریت این مساله قابلیتی است به نام «Areas» که در فایل global.asax باید رجیستر شوند. فعلا عجله نکنید و با همین قراردادها پیش برید. می‌رسیم به این قسمت‌ها.