小编Ste*_*ers的帖子

System.Text.Json.JsonException:无法将 JSON 值转换为枚举

我有一个 ASP.NET Core OData Web API,其端点返回以下内容:

{
    "@odata.context": "https://localhost:44305/odata/$metadata#OrgUnits",
    "@odata.count": 3,
    "value": [
        {
            "Status": "Active",
            "OperationMode": "Normal",
            "BaseUrl": "https://test.nl/",
            "OrgUnitCode": "TEST",
            "Name": "Test",
            "Address": "Spoorlaan 348",
            "PostalCode": "5038 CC",
            "City": "Tilburg",
            "PhoneNumber": "012 345 6789",
            "ChamberOfCommerceNumber": null,
            "ContactName": null,
            "Website": null,
            "EmailAddress": null,
            "Id": 1,
            "DateCreated": "0001-01-01T00:00:00Z",
            "LastModifiedDate": "0001-01-01T00:00:00Z"
        },
Run Code Online (Sandbox Code Playgroud)

Status 和 OperationMode 是枚举:

    public enum OperationMode
    {
        Inherited = 0,
        Normal = 1,
        Test = 2
    }
Run Code Online (Sandbox Code Playgroud)
    public enum Status
    {
        Inherited = 0,
        Active = 1,
        Inactive …
Run Code Online (Sandbox Code Playgroud)

json odata deserialization asp.net-core

9
推荐指数
1
解决办法
1万
查看次数

如何将通用对象传递到 Blazor 中的另一个页面?

我在 Blazor 中有一个组件,它采用参数“TItem”,该参数可以是任何对象:

员工.razor

@page "/Employees"

<GenericGrid TItem="Employee" MaintainState="true"></GenericGrid>

@code
{
  
}
Run Code Online (Sandbox Code Playgroud)

上面的组件是 Telerik 网格组件的包装器。这样,我可以使用相同的网格组件来显示来自不同对象的数据,具体取决于我传递给它的对象(员工、客户等)

GenericGrid.razor(仅显示相关代码)

@typeparam TItem

...grid layout...
<GridToolBar>
       <GridCommandButton Icon="add">New @typeof(TItem).Name</GridCommandButton>
</GridToolBar>
...rest of grid layout...

@code {
    ...

    [Parameter]
    public TItem Entity { get; set; }

    ...
Run Code Online (Sandbox Code Playgroud)

单击按钮时,我想将用户发送到另一个页面。该页面应该包含一个表单,用于创建我传递给它的任何对象。然而,第一个障碍是首先能够将对象发送到另一个页面。路由参数仅支持字符串和整数等内容,因此这不是一个选项。

我发现了以下 StackOverflow 问题:c# blazor how to pass a List to a page。接受的解决方案看起来像是一个可行的选择,但我无法思考如何为我的案例实现这一点。

generics razor blazor

1
推荐指数
1
解决办法
2872
查看次数

标签 统计

asp.net-core ×1

blazor ×1

deserialization ×1

generics ×1

json ×1

odata ×1

razor ×1