gpt4 book ai didi

asp.net - 将整数数组传递给 Get/ASP.NET Web API

转载 作者:行者123 更新时间:2023-12-02 01:59:58 24 4
gpt4 key购买 nike

我知道如何像这样将数组传递给 Get 函数:/?index=1&index=5&index=3

但我需要能够接收这样的数组:/?index=[1,5,3]

或类似的简短内容。有什么我可以使用的吗?

最佳答案

使用自定义 ModelBinder:

public class JsArrayStyleModelBinder : DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext, ModelBindingContext bindingContext)
{
var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);

if (value == null)
return null;

return new JavaScriptSerializer().Deserialize<string[]>(value.AttemptedValue);
}
}

然后在你的 Global.asax 中注册它:

ModelBinders.Binders.Add(typeof(string[]), new JsArrayStyleModelBinder());

或直接在您的Action 参数上:

[HttpGet]
public ActionResult Show([ModelBinder(typeof(JsArrayStyleModelBinder))] string[] indexes)

关于asp.net - 将整数数组传递给 Get/ASP.NET Web API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17727932/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com