Mvc.ModelBinding.MultiParameter
8.2.3
dotnet add package Mvc.ModelBinding.MultiParameter --version 8.2.3
NuGet\Install-Package Mvc.ModelBinding.MultiParameter -Version 8.2.3
<PackageReference Include="Mvc.ModelBinding.MultiParameter" Version="8.2.3" />
paket add Mvc.ModelBinding.MultiParameter --version 8.2.3
#r "nuget: Mvc.ModelBinding.MultiParameter, 8.2.3"
// Install Mvc.ModelBinding.MultiParameter as a Cake Addin #addin nuget:?package=Mvc.ModelBinding.MultiParameter&version=8.2.3 // Install Mvc.ModelBinding.MultiParameter as a Cake Tool #tool nuget:?package=Mvc.ModelBinding.MultiParameter&version=8.2.3
Mvc.ModelBinding.MultiParameter
Nuget package https://www.nuget.org/packages/Mvc.ModelBinding.MultiParameter/
Calling controller methods using multiple unique parameters.
[HttpPost("~/api/SomeMethod/{SomeParameter2}")]
public IActionResult SomeMethod(
string Referer, // "https://localhost:44346/"
string SomeParameter2, // "two"
string SomeParameter3, // "three"
ApiModel SomeParameter4, // {four}
double SomeParameter5, // 5.5 (multi binding FromBody)
int SomeParameter6) // 6 (multi binding FromQuery)
{
return Ok();
}
Using attributes to emphasize the source:
[HttpPost]
[Route("~/api/OtherMethod/{SomeParameter2}")]
public IActionResult OtherMethod(
[FromCooky(Name = ".AspNetCore.Session")] string SomeParameter0, // #######
[FromHeader(Name = "Referer")] string SomeParameter1, // "https://localhost:44346/"
[FromRoute] string SomeParameter2, // "two"
[FromQuery] string SomeParameter3, // "three"
[FromBody] ApiModel SomeParameter4, // {four}
[FromBody] double SomeParameter5, // 5.5 (multi binding FromBody)
[FromQuery] int SomeParameter6) // 6 (multi binding FromQuery)
{
return Ok();
}
This test uses netproxy
javascript caller for posting Json to controllers.
r = await netproxyasync("./api/SomeMethod/two?SomeParameter3=three&SomeParameter6=6",
{
"SomeParameter4": // Now the beast has a name
{
Name: "four",
"Users":
[
[{ Name: "User00", Alias: ['aliasa', 'aliasb', 'aliasc'] }, { Name: "User01" }],
[{ Name: "User10" }, { Name: "User11" }],
[{ Name: "User20" }, { Name: "User21" }]
]
},
"SomeParameter5": 5.5 // double binder
});
For the multi parameter binding use the WithMultiParameterModelBinding
.
Example Program.cs:
var builder = WebApplication.CreateBuilder(new WebApplicationOptions
{
ContentRootPath = AppDomain.CurrentDomain.BaseDirectory
});
builder.Services.AddMvcCore().WithMultiParameterModelBinding();
var app = builder.Build();
app.UseRouting();
app.MapControllers();
app.UseDefaultFiles();
app.UseStaticFiles();
app.Run();
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Mvc.ModelBinding.MultiParameter:
Package | Downloads |
---|---|
netproxy
netproxy is a lite framework for posting multiparameter data in json format to .net core controllers (including uploads and progress events) |
GitHub repositories
This package is not used by any popular GitHub repositories.