Създайте връзка към динамично меню

Как да се обадя

RenderAction or Partial

Опитах следните два начина

@Html.RenderAction("Link", Moorestown.Models.FooterMenu);
@Html.RenderPartial("Link", Moorestown.Models.FooterMenu);

Това се намира в моя споделен изглед, но се опитвам да извикам връзката част от долния колонтитул, за да мога да имам динамично меню.

Грешката е Moorestown.Models.FooterMenu is a type which is not valid in the following context.

Ето как изглежда моето действие на контролера FooterMenu

 public PartialViewResult Link()
 {
   return PartialView(db.FooterMenus.ToList());
 }

Имам и частичен изглед, но засега нямам нищо в него, защото дори не мога да го нарека правилно


person Jseb    schedule 25.07.2013    source източник


Отговори (3)


промяна

@Html.RenderAction("Link", Moorestown.Models.FooterMenu);

To

@Html.RenderAction("Link", "FooterMenu");

Би трябвало да работи.

person afzalulh    schedule 25.07.2013

Трябва да предавате обекта, а НЕ типа във вашите RenderAction или RenderPartial методи.

person Prash    schedule 25.07.2013
comment
какво имаш предвид под обект, това е списък на всички долни менюта, нов съм в asp.net - person Jseb; 25.07.2013
comment
@Jseb, ще се радвам да ти помогна. Moorestown.Models.FooterMenu всъщност е Типът; но обектът вече е предаден от контролера към вашия изглед. Ще получите манипулатор на вашия обект, като използвате ключова дума Model във вашия изглед. Оттам ще имате достъп до всички свойства/обекти, които сте инжектирали в този изглед чрез вашия контролер. - person Prash; 25.07.2013
comment
Видях, че можете да направите нещо подобно @{ Html.RenderAction(Items, new { requestId = Model.Id }); }. Въпреки това отново искам списък като индекс на всички FooterMenu, които са дефинирани в моя индекс - person Jseb; 25.07.2013
comment
Добре. Търсите ли нещо като Paging? - person Prash; 25.07.2013

Можете да извикате частичен изглед с това

@Html.Partial("_DistrictDetailGrid", модел)

„_DistrictDetailGrid“ е име на частичен изглед.

person Janki    schedule 26.07.2013