IIS和独立应用程序在blazor页面上设置参数时崩溃

IIS和独立应用程序在blazor页面上设置参数时崩溃,blazor,iis-express,Blazor,Iis Express,我在asp.net core 3.1上新生成的blazor服务器应用程序中创建了以下组件作为.razor文件: 如果您通过IIS Express或.exe单机版应用程序访问页面/p,则会因访问冲突而崩溃: iisexpress.exe“wurde mit代码-1073741819(0xc0000005)”访问权限 “比恩德特” 调试时,在子组件上设置EventCallBack后,它看起来会崩溃 parent.razor: @page "/P" <h3>Paren

我在asp.net core 3.1上新生成的blazor服务器应用程序中创建了以下组件作为.razor文件:

如果您通过IIS Express或.exe单机版应用程序访问页面
/p
,则会因访问冲突而崩溃:

iisexpress.exe“wurde mit代码-1073741819(0xc0000005)”访问权限 “比恩德特”

调试时,在子组件上设置
EventCallBack
后,它看起来会崩溃

parent.razor:

@page "/P"

<h3>Parent</h3>

Parent: @Name

<Child @bind-Name="Name" />

@code {
    public string Name { get; set; } = "Bla";
}
@page”/P
父母亲
父项:@Name
@代码{
公共字符串名称{get;set;}=“Bla”;
}
儿童剃须刀

<h3>Child</h3>

Value: @Name

@code {
    private string _Name;

    [Parameter]
    public string Name
    {
        get => Name; set
        {
            if (value != _Name)
            {
                _Name = value;
                //NameChanged.InvokeAsync(_Name).Wait();
            }
        }
    }

    [Parameter]
    public EventCallback<string> NameChanged { get; set; }
}
Child
值:@Name
@代码{
私有字符串\u名称;
[参数]
公共字符串名
{
get=>Name;set
{
如果(值!=\u名称)
{
_名称=值;
//NameChanged.InvokeAsync(_Name.Wait();
}
}
}
[参数]
公共事件回调名称已更改{get;set;}
}
编辑:在下一步中,我想更改子组件中的
Name
字段,并使用回调函数将更改发送给父组件


有人有办法或想法获取更多信息吗?

我建议你做几件事,让你继续前进

在子组件上,将
EventCallback
定义为一个参数。添加一些机制来更改
Name
,然后调用
EventCallback
。在本例中,我使用了一个文本框(带有双向绑定以保持
Name
属性的最新)和一个按钮来调用回调

<h3>Child</h3>

<input @bind-Value="Name" /> 
<button @onclick="OnButtonClicked" >Click me</button>

@code {    
    [Parameter]
    public string Name {get; set;} 

    [Parameter]
    public EventCallback<string> NameChanged {get; set;}

    public async Task OnButtonClicked(){
        await NameChanged.InvokeAsync(Name);
    }
}
Child
点击我
@代码{
[参数]
公共字符串名称{get;set;}
[参数]
公共事件回调名称已更改{get;set;}
公共异步任务OnButtonClicked(){
wait NameChanged.InvokeAsync(名称);
}
}
在父页面上,在页面初始化中设置默认字符串,然后将其绑定到子组件。还为从子组件冒泡的名称更改定义事件处理程序

@page "/mypage"

<h3>Parent</h3>

Parent: @Name

<Child Name="@Name" NameChanged="HandleNameChanged" }

@code {
    public string Name { get; set; }
   
    public override void OnInitialized(){
       Name = "bla";
    }

    public void HandleNameChanged(string changedName){
       Name = changedName;
    }
}
@page”/mypage
父母亲
父项:@Name

我找到了答案……这是一个输入错误,输入的信息是be
get=>\u Name
以访问支持字段


因此,它将进入一个无限循环,这将导致崩溃…

嗨,马克,谢谢你的快速回答…很抱歉我的问题不清楚。在下一步中,我想更改子组件中的名称字段,并使用反回调函数将更改发送给父组件。你如何更改名称?使用文本框or什么的?我已经更新了这个例子,用一个文本框和一个按钮来对子组件进行更改