C# 从Blazor WebAssembly客户端项目中的GetFromJsonAsync调用接收Blazor服务器项目中API方法中的参数

C# 从Blazor WebAssembly客户端项目中的GetFromJsonAsync调用接收Blazor服务器项目中API方法中的参数,c#,blazor,C#,Blazor,我在Blazor服务器项目中有一个控制器,我在客户机项目的razor页面上通过一个参数调用它,例如 翻页 var FlatData = await Http.GetFromJsonAsync<IEnumerable<TreeItem>>("TreeItem?Id=3FD09A3"); var FlatData=wait Http.GetFromJsonAsync(“TreeItem?Id=3FD09A3”); 在服务器控制器中 [HttpGet] public IEn

我在Blazor服务器项目中有一个控制器,我在客户机项目的razor页面上通过一个参数调用它,例如

翻页

var FlatData = await Http.GetFromJsonAsync<IEnumerable<TreeItem>>("TreeItem?Id=3FD09A3");
var FlatData=wait Http.GetFromJsonAsync(“TreeItem?Id=3FD09A3”);
在服务器控制器中

[HttpGet]
public IEnumerable<TreeItem> Get(string tag)
{

    IEnumerable<TreeItem> treeItems =  Enumerable.Range(1, 11).Select(index => new TreeItem
    {
        ...
    })
    .ToArray();
    return treeItems;
}
[HttpGet]
公共IEnumerable Get(字符串标记)
{
IEnumerable treeItems=Enumerable.Range(1,11)。选择(index=>newtreeitem
{
...
})
.ToArray();
返回树;
}
TreeItem是在我的共享项目中定义的类


我进入我的控制器方法OK,可以返回数据OK,但是我没有得到用于优化数据的参数。如何从“TreeItem?Id=3FD09A3”获取参数数据。Get方法上的“tag”参数始终为null。如何获取参数数据?

您必须匹配名称,区分大小写:

[HttpGet]
//public IEnumerable<TreeItem> Get(string tag)
public IEnumerable<TreeItem> Get(string Id)   // because ?Id=3FD09A3
[HttpGet]
//公共IEnumerable Get(字符串标记)
public IEnumerable Get(string Id)//因为?Id=3FD09A3

谢谢!我只是想知道我需要知道的。我可能已经走了很长一段时间而没有想到这一点。你们可以看到我对网络编程还不熟悉。@Henk是对的。您必须将方法中的参数名与querystring参数(包括区分大小写)匹配。例如-如果您正在querystring中传递“?tag=3FD09A3”,则方法参数必须是“Get(string tag)”。那么模型绑定将只起作用。谢谢