次のように Get 関数に配列を渡す方法を知っています。/?index=1&index=5&index=3
しかし、次のような配列を受け取ることができる必要があります。/?index=[1,5,3]
または同様に短いもの。使えるものはありますか?
次のように 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)