Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.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# 为什么Blazor嵌入式组件更新不正确_C#_Asp.net Core_Blazor_Blazor Client Side - Fatal编程技术网

C# 为什么Blazor嵌入式组件更新不正确

C# 为什么Blazor嵌入式组件更新不正确,c#,asp.net-core,blazor,blazor-client-side,C#,Asp.net Core,Blazor,Blazor Client Side,给定包含需要重用的代码的MainView.razor,可重用的代码将被移动到NewComponent.razorNewcomComponent需要一个参数,Route Route,在下面的示例中。参数通过参数规范传递 MainView.razor <NewComponent route="@route" /> @code { Route _route; [Parameter] public Route route { get { re

给定包含需要重用的代码的
MainView.razor
,可重用的代码将被移动到
NewComponent.razor
NewcomComponent
需要一个参数,
Route Route
,在下面的示例中。参数通过参数规范传递

MainView.razor

<NewComponent route="@route" />
@code
{
    Route _route;
    [Parameter]
    public Route route
    {
        get { return _route; }
        set
        {
            Console.WriteLine("XXXXXXXXXXXXXXXX Route = " + value.Name);
            _route = value;
        }
    }

    protected override Task OnParametersSetAsync()
    {
        Console.WriteLine("YYYYYYYYYYYYYYYZZ");
        return base.OnParametersSetAsync();
    }
}
Route _route;
[Parameter]
public Route route
{
    get { return _route; }
    set
    {
        Console.WriteLine("Route changing to = " + value.Name);
        _route = value;
        StateHasChanged();
    }
}
但是,从未指定任何控制台输出。更新
Resource.razor

<NewComponent route="@route" />
@code
{
    Route _route;
    [Parameter]
    public Route route
    {
        get { return _route; }
        set
        {
            Console.WriteLine("XXXXXXXXXXXXXXXX Route = " + value.Name);
            _route = value;
        }
    }

    protected override Task OnParametersSetAsync()
    {
        Console.WriteLine("YYYYYYYYYYYYYYYZZ");
        return base.OnParametersSetAsync();
    }
}
Route _route;
[Parameter]
public Route route
{
    get { return _route; }
    set
    {
        Console.WriteLine("Route changing to = " + value.Name);
        _route = value;
        StateHasChanged();
    }
}

路由正在更改但NewcomComponent的控制台输出从未发生的输出。为什么NewcomComponent没有更新?

问题是,NewcomComponent最初是在
/Pages
目录中编译的,然后移动到项目中的
/Components
目录中。将鼠标悬停在
上表明使用了
.Pages
名称空间,即使该名称空间中没有存储任何文件。干净的重建可以纠正此问题