Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Asp.net core中将视图数据传递给部分视图?_C#_Asp.net Core Mvc - Fatal编程技术网

C# 如何在Asp.net core中将视图数据传递给部分视图?

C# 如何在Asp.net core中将视图数据传递给部分视图?,c#,asp.net-core-mvc,C#,Asp.net Core Mvc,我正在使用2.2版本更新.NET内核。我正在尝试使用以下代码将数据传递到部分视图: <partial name="_Emplyees" model="@Model.Employees" view-data="@new ViewDataDictionary(ViewData) { { "index", index }}"/> 但是它给出的语法错误。有人能指导如何在局部视图中传递数据和使用吗?提前感谢。问题在于查看数据属性中有双引号。您需要在属性值周围使用单引号 <part

我正在使用2.2版本更新.NET内核。我正在尝试使用以下代码将数据传递到部分视图:

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


但是它给出的语法错误。有人能指导如何在局部视图中传递数据和使用吗?提前感谢。

问题在于
查看数据属性中有双引号。您需要在属性值周围使用单引号

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

另外,
@Model
在这里是多余的,所以我删除了它。

请参见 和


@等待Html.partialSync(“\u ProductPartial”,product)
注:

实例化局部视图时,它将收到
父级的ViewData字典。

您可以在ASP.Net核心MVC中将ViewData传递给部分视图,如下所示:

1.型号:

public class TestModel
{
    public string Employees { get; set; }
}
2.视图(Create.cshtml):

5.结果:

参考:


根据文档,当实例化局部视图时,它会收到父视图的ViewData字典的副本。对局部视图中的数据所做的更新不会持久化到父视图。局部视图返回时,局部视图中的ViewData更改将丢失

签出文档

对我来说,我只是创建了一个局部视图,在另一个视图中访问它,并直接在其中使用ViewData

~/Views/Shared/\u PageTop.cshtml

<a asp-controller="Home" asp-action="Index">Go Back</a>
<h1>@ViewData["Title"]</h1>
返回
@ViewData[“标题”]
~/Views/Create.cshtml

@{
    ViewData["Title"] = "Create";
}
<partial name="_PageTop" />
@{
ViewData[“标题”]=“创建”;
}

因此,无需将任何内容传递给部分视图_PageTop,我就可以使用@ViewData[“Title”]直接访问父视图的Title属性。

在Core 2.1至至少3.1中,有3种方法可以将视图数据传递给部分视图。使用部分标记辅助对象的for、model或view数据属性。文件载于
<h3>Index: @ViewData["index"]</h3>
@model TestModel

@if ((bool)ViewData["index"])
{
    @Model.Employees
}
else
{
    <input asp-for="Employees" type="number" class="form-control" />
}
public IActionResult Create()
{
    var testmodel = new TestModel() { Employees = "aaa" };
    return View(testmodel);
}
<a asp-controller="Home" asp-action="Index">Go Back</a>
<h1>@ViewData["Title"]</h1>
@{
    ViewData["Title"] = "Create";
}
<partial name="_PageTop" />