C# 如何传入guidwebapi&x2B;雷斯特夏普?

C# 如何传入guidwebapi&x2B;雷斯特夏普?,c#,asp.net-web-api,restsharp,C#,Asp.net Web Api,Restsharp,当我发送一个guid集合时,我总是收到一个错误 The value 'System.Collections.Generic.List`1[System.Guid]' is not valid for Guid. 我认为这是因为restsharp没有处理收集,基本上只是将其转换为字符串 var ids = checkedItems.Select(x => x.Items).ToList(); var request = new RestRequest("de

当我发送一个guid集合时,我总是收到一个错误

The value 'System.Collections.Generic.List`1[System.Guid]' is not valid for Guid.
我认为这是因为restsharp没有处理收集,基本上只是将其转换为字符串

   var ids = checkedItems.Select(x => x.Items).ToList();

            var request = new RestRequest("default/Delete", Method.DELETE);

            for (int i = 0; i < ids.Count(); i++)
            {
                request.AddParameter("Ids" + i, ids[i]);
            }
var请求=新的重新请求(“默认/删除”,Method.Delete); AddParameter(“ids”,ids)

导致“无效guid”错误

[HttpDelete]
公共HttpResponseMessage删除([FromUri]DeleteVm)
{
}
公共类DeleteVm
{
公共IEnumerable ID{get;set;}
}

我怀疑
checkedItems.Select(x=>x.Items).ToList()
是guid列表,而不是预期的guid列表。。。也许您正在寻找SelectMany()?哎呀,实际上它确实是x.ItemId。很抱歉,名称混淆,它是一个guid列表。错误是,系统在传递列表时需要一个guid(因此,ToString()错误地将其转换为字符串)并且无法转换回,因为字符串只包含类名,而不包含GUID)。。。我认为你需要通过单图形界面。。。不是GUI列表…是的,这不是一个选项,我可以有1个id和或100个GUI发送删除,这将是愚蠢的,必须做100个请求来实现这一点。
 var ids = checkedItems.Select(x => x.Items);
           [HttpDelete]
   public HttpResponseMessage Delete([FromUri]DeleteVm vm)
    {
    }



public class DeleteVm 
{
    public IEnumerable<Guid> Ids { get; set; }
}