Как передать данные просмотра в частичное представление в ядре Asp.net? - PullRequest
0 голосов
/ 16 октября 2019

Я в новом .NET ядре, используя версию 2.2. Я пытаюсь передать данные в частичное представление с помощью следующего кода:

 <partial name="_Emplyees" model="@Model.Employees" view-data="@new ViewDataDictionary(ViewData) { { "index", index }}"/>

, но синтаксическая ошибка. может кто-нибудь подсказать, как передать данные и использовать при частичном просмотре? Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 16 октября 2019

См. Частичные представления в ASP.NET Core и Помощник частичных тегов в ASP.NET Core .

<partial name="Shared/_ProductPartial.cshtml" for="Product">

<partial name="_ProductViewDataPartial" for="Product" view-data="ViewData">

@await Html.PartialAsync("_ProductPartial", product)

Примечание:

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

0 голосов
/ 17 октября 2019

Вы можете передать ViewData частичному представлению, как показано ниже в ASP.Net Core MVC:

1.Модель:

public class TestModel
{
    public string Employees { get; set; }
}

2.View (Create.cshtml):

@model TestModel
@{ 
    ViewData["index"] = true;
}
<partial name="_Emplyees" model="@Model" view-data="ViewData" />

3. Частичное представление:

<h3>Index: @ViewData["index"]</h3>
@model TestModel

@if ((bool)ViewData["index"])
{
    @Model.Employees
}
else
{
    <input asp-for="Employees" type="number" class="form-control" />
}

4.Контроллер:

public IActionResult Create()
{
    var testmodel = new TestModel() { Employees = "aaa" };
    return View(testmodel);
}

5.Результат:

enter image description here

Ссылка:

Как использовать данные представления, чтобы передать данные в частичное представление

https://docs.microsoft.com/en-us/aspnet/core/mvc/views/partial?view=aspnetcore-3.0#access-data-from-partial-views

0 голосов
/ 16 октября 2019

Проблема в том, что у вас есть двойные кавычки внутри атрибута view-data. Вы должны использовать одинарные кавычки вокруг значения атрибута.

<partial name="_Emplyees" model="Employees" view-data='@new ViewDataDictionary(ViewData) { { "index", index } }'/>

Кроме того, @Model здесь лишнее, поэтому я удалил его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...