Как передать данные в частичное представление с помощью ASP.NET Core? - PullRequest
1 голос
/ 03 апреля 2019

Отказ от ответственности: я новичок в ASP.NET Core, но много читал и пробовал.

Я пытаюсь реализовать свой первый частичный просмотр и передать ему данные. Из того, что я прочитал, это должно сработать, поэтому я не понимаю, как обстоят дела на юге.

Мой частичный просмотр:

    @page
    @model int
    @*

   *@
   <h2>@Model</h2>

Мой призыв к частичному просмотру:

@Html.Partial("_ProductCreate", 0);

Код C # для _ProductCreate является значением по умолчанию:

public class _ProductCreateModel : PageModel
{
    public void OnGet()
    {

    }
}

@Model всегда равно нулю. В частности, я получаю следующую ошибку:

NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта. aspnetcoreapp.Pages.Customers.Pages_Customers__ProductCreate.get_Model ()

1 Ответ

0 голосов
/ 04 апреля 2019

В контроллере, связанном с представлением, необходимо вернуть модель в представление.Это показано в теме здесь: Вернуться к списку просмотра .

Ниже приведен упрощенный способ передачи модели в представление, где Пример - это тип моей модели.

    public ActionResult HomeController(Example model)
    { 
        return View(model);
    }   

Если вы были в представлении Home, вы можете передать ту же модель илисвойство модели для частичного вида, например, так:

@* Declaring your model *@
@model Example.Web.Models.Example

@* Passing that same model through to the partial view *@
@Html.Partial("_ProductCreate", Model);
...