ورود

View Full Version : استفاده از patial view در یک ویو دیگر



homa sadeghi
یک شنبه 30 آذر 1393, 16:38 عصر
من دارم کنترلی دارم که ویو مربوط به اکشن هاش از نوع Partial view درست کردم حالا می خام این partial view ]ا رو در یک ویو در چند تب نشون بدم اما موقع اجرا روی اجرای partial view ها مشکل داره و مدل در partial view ها NUll هست مراحل کار چطور باید پیش ببرم؟

r4hgozar
دوشنبه 01 دی 1393, 12:48 عصر
سلام.
شما وقتی داری
Partial view رو صدا می زنی باید مدل رو هم بهش پاس بدی.
باید از viewmodel استفاده کنی تا چند تا مدل رو تو یه ویو فراخونی کنی.
موفق باشی

RIG000
دوشنبه 01 دی 1393, 20:42 عصر
فکر میکنم نحوه صدا زدن partialview رو داری استباه میکنی. البته اروریکه شما داری یه ارور کامل هست که اون بذاری دوستان ببینن خیلی بهتر هستش. با نحوه صدا زدن مدل.

homa sadeghi
پنج شنبه 04 دی 1393, 09:54 صبح
سلام
من کل کار ی که انجام دادم به ترتیب براتون توضیح می دم
اول که یک کنترلر دارم و توی این کنترلرم دو تا اکشن:
اولی:

public ActionResult s()
{
s smodel= db.Database.SqlQuery<s>("GetS {0}", 163).ToList().FirstOrDefault();

return View(SessionModel);
}
ویویی که برای این اکشن ساختم partial view هست.
بعد یه اکشن دیگه تو کنترلر م دارم که ویو براش ساختم و داخل ویو این اکشنم partial view فراخوانی کردم به صورت زیر:
@Html.RenderPartial("s")

و من این طور فکر کردم که وقتی من دارم parial view اینجا فراخوانی می کنم اول می ره اکشن اجرا می کنه مدل رو پر می کنه بعد نتیجه رو اینجا نشونم می ده که اینطور نشد اصلا هیچی نشون نمی ده

mohammadreza.najafipour
پنج شنبه 04 دی 1393, 19:00 عصر
از داخل View اگه بخواید PartialView رو فراخوانی کنید باید به اون مدل رو هم پاس بدید، همونطوری که دوستان گفتند.
اما برای اینکاری که توضیح دادید، باید از متد زیر استفاده کنید:

@Html.Action("s")

با اینکار، ابتدا Action مورد نظر اجرا میشه و نتیجه رو براتون توی View میاره. البته این رو هم بگم که باید در Action از return PartialView استفاده کنید