C# Blazor服务器端,razor页面:对象引用未设置为对象的实例
我使用的是.NET 5版本C# Blazor服务器端,razor页面:对象引用未设置为对象的实例,c#,asp.net-core,razor,blazor,blazor-server-side,C#,Asp.net Core,Razor,Blazor,Blazor Server Side,我使用的是.NET 5版本5.0.100-rc.1.20452.10,ASP.NET核心Blazor服务器端 我模仿这个例子 我的错误 System.NullReferenceException HResult=0x80004003 Message=Object reference not set to an instance of an object. Source=acc133blazor StackTrace: at acc133blazor.Pages.Declar
5.0.100-rc.1.20452.10
,ASP.NET核心Blazor服务器端
我模仿这个例子
我的错误
System.NullReferenceException
HResult=0x80004003
Message=Object reference not set to an instance of an object.
Source=acc133blazor
StackTrace:
at acc133blazor.Pages.DeclaredData.Account.AccountsPage.<OnInitializedAsync>d__10.MoveNext() in D:\acc133blazor\acc133blazor\Pages\DeclaredData\Account\AccountsPage.razor:line 144
System.NullReferenceException
HResult=0x80004003
Message=对象引用未设置为对象的实例。
Source=acc133blazor
堆栈跟踪:
在d:\acc133blazor\acc133blazor\Pages\DeclaredData\Account\AccountsPage.d_uu10.MoveNext()中的acc133blazor.Pages.DeclaredData.Account.AccountsPage()中:第144行
@foreach(ExportUrlInfo中的元组urlInfo)
{
}
}
@代码{
私有只读ObservableCollection exportUrlInfo=新ObservableCollection();
受保护的任务LoadOrderData(DataSourceLoadOptions基本选项,CancellationToken CancellationToken){
字符串baseUri=NavigationManager.baseUri.ToString();
exportUrlInfo.Clear();
exportUrlInfo.Add(Tuple.Create(options.ConvertToGetRequestUri(baseUri+“exportPdf”),“exportPdf”);
exportUrlInfo.Add(Tuple.Create(options.ConvertToGetRequestUri(baseUri+“exportXlsx”),“exportXlsx”);
exportUrlInfo.Add(Tuple.Create(options.ConvertToGetRequestUri(baseUri+“exportDocx”),“Export DOCX”);
返回Task.FromResult(DataSourceLoader.Load(AccountList,options));
}
公共ObservableCollection ExportUrlInfo{get;set;}
//...
受保护的重写异步任务OnInitializedAsync()
{
AccountList=等待控制器。GetAccountAsync();
ListOfcountTypes=新列表()
{
新的ComboBoxItem(0,“DưNợ"),
新项目(1,“DưCó”),
新项目(2,“Lư”ỡng tính“)
};
ExportUrlInfo.CollectionChanged+=(s,e)=>
{
InvokeAsync(statehaschange);
};
}
如何修复错误?问题在这里
ExportUrlInfo.CollectionChanged
。ExportUrlInfo
尚未初始化
引用类型需要获得初始值:
下面的声明并不意味着它将有一个值
public ObservableCollection<Tuple<string, string>> ExportUrlInfo { get; set; }
public ObservableCollection<Tuple<string, string>> ExportUrlInfo { get; set; }
public ObservableCollection<Tuple<string, string>> ExportUrlInfo { get { return exportUrlInfo; } set { exportUrlInfo = value; } }
this.exportUrlInfo.CollectionChanged += (s, e) =>
{
InvokeAsync(StateHasChanged);
};