ورود

View Full Version : ایجاد یک Controller مشترک به جای 30 کنترلر



resident
دوشنبه 31 تیر 1392, 11:11 صبح
سلام.

من 30 تا فرم دارم که همشون 4 فیلد یکسان مثل ID، عنوان ، توضیحات و (timestamp)concurrencyVersion دارن.

تو MVC میشه یه کنترلر بذارم و برای اون 30 تا فرم استفاده کنم؟ میخوام یه کنترلر داشته باشم نه 30 تا.

Cybersilent
سه شنبه 01 مرداد 1392, 11:04 صبح
فکر کنم باید از partialView استفاده کنید.

ali_autumnal
شنبه 05 مرداد 1392, 12:55 عصر
در HomeController می تونید Ation های مشترک رو قرار بدید. سپس با استفاده از RenderAction یا RenderPartial می تونید این Ation ها رو در Viewها Render کنید.

برای مثال:
Menu ها و Footer ها در کلیه صفحات مشترک هستند. در نتیجه بهترین روش استفاده از همین RenderAction یا RenderPartial هست

موفق باشید

resident
شنبه 12 مرداد 1392, 15:45 عصر
از هر دوی شما عزیزان ممنون .
ولی من نمیخوام تو HomeController قرار بدم.
من باید یه View مشترک ایجاد کنم و Model رو بتونم در زمان اجرا پاس بدم. Model اگه دینامیک باشه مشکل حل میشه ولی نمیدونم چطور میشه این کار رو کرد.

hakim22
شنبه 12 مرداد 1392, 17:43 عصر
اگر درست منظور شما رو فهمیده باشم میشه با Interface بجای کلاس مشکلتون حل میشه که در این صورت بهتره یک سری به آموزشها Dependency Injection بزنید.

یا اگر ممکنه با یک کلاس Abstract که بقیه ی کلاسها از اون مشتق میشن کار کنید که در این صورت باید یک ModelBinder به صورت Custom طراحی کنید.

لینک مفید (http://weblogs.asp.net/bhaskarghosh/archive/2009/07/08/7143564.aspx)