PDA

View Full Version : مدل dynamic



resident
یک شنبه 11 اسفند 1392, 19:34 عصر
سلام .
من View زیر رو دارم. میخوام مدل رو از نوع dynamic بذارم.



@model dynamic
@for (int i = 0; i < Model.Contacts.Count(); i++){

<tr>
@Html.Hidden("Contacts["+i+"].Contact_ContactTypeID")
@Html.Hidden("Contacts["+i+"].Title")
<td>
@Html.Display("Contacts["+i+"].ContactType_Title")
</td>

</tr>
}

به نظر میاد قسمتی که Bold کردم مشکل داره. کسی می تونه راهنماییم کنه؟

Cybersilent
دوشنبه 12 اسفند 1392, 09:55 صبح
فکر نمی کنم بشود شی مدل یک ویو رو به صورت داینامیک تعریف کرد، یعنی باید مشخص باشد که چه شی ای قراره به اون پاس داده شود.
پیشنهاد می کنم از ViewModel استفاده کنید.

البته می توانید با استفاده از قابلیت Reflector کاری رو که می خواهید انجام بدهید ولی اصلا استاندارد نیست.

resident
دوشنبه 12 اسفند 1392, 10:41 صبح
فکر نمی کنم بشود شی مدل یک ویو رو به صورت داینامیک تعریف کرد، یعنی باید مشخص باشد که چه شی ای قراره به اون پاس داده شود.

میشه دوست عزیز، من این کار رو کردم برای ویوهای Create و Edit، درست هم کار می کنه ولی برای لیستی مثل این نمیدونم چطور باید بنویسم

resident
دوشنبه 12 اسفند 1392, 10:42 صبح
پیشنهاد می کنم از ViewModel استفاده کنید.

ویومدل در این مورد چه کمکی می تونه بهم بکنه؟

Cybersilent
سه شنبه 13 اسفند 1392, 13:39 عصر
میشه دوست عزیز، من این کار رو کردم برای ویوهای Create و Edit، درست هم کار می کنه ولی برای لیستی مثل این نمیدونم چطور باید بنویسم

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

resident
سه شنبه 13 اسفند 1392, 13:48 عصر
در زمان اجرا اگر به فیلدی ارجاع داده شده باشه و اون فیلد وجود نداشته باشه خطای زمان اجرا دریافت می کنید.
درسته. باید در تعیین نام فیلدها دقت کرد