Hvordan legge JSON data i MVC Visual Studio 2015

stemmer
4

Jeg prøver å legge JSON-objekter til MVC i Visual Studio 2015 forhåndsvisning. Men dataene ikke ut til å bindes til den handling metoder parameter. Det pleide å være en JsonValueProviderFactory registrert i tidligere versjoner av MVC som håndteres dette, men jeg kan ikke synes å finne det i MVC6? Har oppsettet endret, dette pleide å jobbe ut-av-boksen i tidligere versjoner?

I utgangspunktet har jeg en styreenhet metode

public ActionResult Save(Person person)
{
   ...
}

Som jeg prøver å ringe fra javascript:

var personData = { Name : 'John Doe' };
$.ajax({
        url: '@Url.Content(~/Person/Save)',
        type: POST,
        data: JSON.stringify(personData ), 
        dataType: json, 
        contentType: application/json; charset=utf-8
    })

I tidligere versjoner av MVC, ble JSON- gjenstanden er tilordnet til c # parameter i denne artikkelen for eksempel http://webcognoscere.com/post/How-to-POST-a-JSON-object-to-a-Controller-Action ASPX

Publisert på 26/11/2014 klokken 14:21
kilden bruker
På andre språk...                            


1 svar

stemmer
9

Legg [FromBody]til parameteren. I MVC 6 logikken fra MVC og Web API ble slått sammen til ett system. Dette betyr at innholdet som trenger å bli deserialisert som JSON- fra kroppen av en stolpe må eksplisitt nevnt i aksjon metodens parameter:

public ActionResult Save([FromBody] Person person)
{
    ...
}
Svarte 02/12/2014 kl. 22:27
kilden bruker

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more