PDA

View Full Version : سوال: استخراح داده های EntityFramework در صفحه razor مربوط به LayoutPage



ShahinRad97
دوشنبه 20 خرداد 1392, 01:26 صبح
سلام
من یه لایوت دارم که میخوام پیوند ها رو از مدلی که در پوشه Models دارم و با استفاده از EntityFramework ساخته شده بخونم.
اگه ممکنه راهنماییم کنید چطور این کارو کنم؟

parvizwpf
دوشنبه 20 خرداد 1392, 01:35 صبح
اینو نگاه کنید شاید حل بشه :
http://stackoverflow.com/questions/8487902/how-to-give-shared-layout-a-model-in-razor-mvc
http://stackoverflow.com/questions/6687677/partialview-and-passing-data-to-layout-mvc3

ShahinRad97
دوشنبه 20 خرداد 1392, 09:31 صبح
حل نشد متاسفانه
اصلا توی laoyt دستور زیر وجود نداره و خطا میده:
@Html.Action

مهدی کرامتی
دوشنبه 20 خرداد 1392, 09:57 صبح
اینجا را ببینید: http://barnamenevis.org/showthread.php?402437-%D8%AE%D9%88%D8%A7%D9%86%D8%AF%D9%86-%D9%85%D9%86%D9%88%D9%87%D8%A7-%D8%A7%D8%B2-%D8%AF%DB%8C%D8%AA%D8%A7%D8%A8%DB%8C%D8%B3-%D8%AF%D8%B1-Layout

ShahinRad97
دوشنبه 20 خرداد 1392, 12:10 عصر
ممنون جناب کرامتی
حل شد

ShahinRad97
دوشنبه 20 خرداد 1392, 15:08 عصر
آقای کرامتی ضمن تشکر مجدد از راهنماییتون. با توجه به پست زیر همونطور که گفته شد مشکل حل شد، ولی این روش ظاهرا درست نیست، چون ما داریم از یه view مستقیم با مدل ارتباط میگیریم و این درست نیست. به نظرم باید از یک اکشن در کنترلر استفاده بشه.

فرض کنید اسم دیتابیس شما TestDb باشه، وقتی یک Entity Data Model برای اون دیتابیس می سازید اسم اون EDM معمولا میشه TestDbEntities. حالا در فایل layout اون بالا (خط اول) چنین دستوری رو اضافه کنید:


@{
var db = new TestDbEntities();
}

حالا در جایی در layout که می خواهید آخرین خبرها را نمایش بدید:


<ul>
@foreach(var item in db.News)
{
<li>
@item.NewsTitle
</li>
}
</ul>

به همین سادگی :لبخندساده:

mo.esmp
سه شنبه 21 خرداد 1392, 01:34 صبح
نگاهی به این لینک (http://haacked.com/archive/2009/11/18/aspnetmvc2-render-action.aspx) بیاندازید همون چیزی هست که شما میخواید.

مهدی کرامتی
سه شنبه 21 خرداد 1392, 13:10 عصر
از لحاظ رعایت ترتیب لایه ها ممکنه صحیح نباشه، ولی از نظر کاهش پیچیدگی مفیده.

ShahinRad97
سه شنبه 21 خرداد 1392, 23:50 عصر
اینو نگاه کنید شاید حل بشه :
http://stackoverflow.com/questions/8487902/how-to-give-shared-layout-a-model-in-razor-mvc
http://stackoverflow.com/questions/6687677/partialview-and-passing-data-to-layout-mvc3

مثل لینک اول حل شد. هم اصولی هم راحت.
نمیدونم چرا اول
@Html.Action

رو خطا میداد