Как использовать модель частичного просмотра в ASP.NET MVC

1

У меня есть контроллер с именем DaftarController который вызывает индексный указатель и заполняет его с помощью режима.

DaftarController:

    public ActionResult Index()
    {
        List<EventRecord> li = ws.GetEvents().ToList();
        var ura = li;
        return View(ura);
    }

Он отлично показывает, но я хочу, чтобы частичный вид отображался в моем представлении индекса.

@Html.Partial("~/Views/Daftar/_Deleted.cshtml");

Поэтому я добавляю это в свой DaftarController:

    public ActionResult _Deleted()
    {
        List<DeletedRecord> li = ws.GetDeleteds().ToList();
        var ura = li;
        return View(ura);
    }

Но это дает ошибку. Я все еще путаюсь, как показать частичное представление с моделью в нем?

Теги:
asp.net-mvc
asp.net-mvc-4
partial-views

2 ответа

3
Лучший ответ

Если вы хотите вызвать действие, даже если действие вернет частичное представление, вы должны использовать.

@Html.Action("_Deleted", "Daftar") // Assume _Deleted is inside DaftarController

Это вызовет действие, затем вернет представление, а в вашем действии _Deleted вам нужно вернуть его с PartialView метода PartialView иначе макет будет включен в качестве результата.

public ActionResult _Deleted()
{
    List<DeletedRecord> li = ws.GetDeleteds().ToList();
    var ura = li;
    return PartialView(ura); // Not View(ura)
}

Если вы прямо вызываете @Html.PartialView, это означает, что вы непосредственно визуализируете представление, не @Html.PartialView к действию.

2

Когда вы определяете частичное представление для использования в режиме бритвы, вы не определяете путь с расширением файла.

Таким образом, для вашего частичного, это было бы:

@Html.Partial("~/Views/Daftar/_Deleted");
  • 0
    Нет, без расширения .cshtml возвращает ошибку Просмотр не найден

Ещё вопросы

Сообщество Overcoder
Наверх
Меню