2016-07-11 66 views
13

Ho una classe modello che desidero associare una stringa di query all'applicazione ASP.NET MVC Core (RC2).Associazione del modello in ASP.NET Core per mappare i caratteri di sottolineatura ai nomi delle proprietà dei titoli dei titoli

Ho bisogno di supportare caratteri di sottolineatura nelle chiavi stringa di query per confermare le specifiche OAuth, ma voglio lavorare con i nomi delle proprietà dei titoli titolo nella mia applicazione.

mia classe del modello si presenta così:

class OauthParameters 
{ 
    public string ClientId {get; set;} 

    public string ResponseType {get; set;} 

    public string RedirectUri {get; set;} 
} 

quindi mi piacerebbe legare stringhe di query come client_id, response_type e redirect_uri ad esso.

C'è un modo per ASP.NET MVC Core di eseguire questa operazione automaticamente o tramite un'annotazione di attributo?

Ho letto alcuni articoli sulla scrittura di raccoglitori modello personalizzati, ma questi sembrano (1) essere eccessivamente complessi per quello che sto cercando di ottenere e (2) sono scritti per RC1 o precedenti in mente e alcuni dei la sintassi è cambiata.

Grazie in anticipo.

+1

leganti Girl non devono essere incredibilmente complicato, e sono sicuramente il punto di ingresso giusto per ciò che si sta cercando di ottenere –

+0

https://docs.asp.net/en /latest/mvc/models/model-binding.html – Set

+0

Ma qual è il problema, gli oggetti di visualizzazione dati trasformati (modello controller) in oggetti di trasferimento dati (DTO di Business Logic) sono comuni nel biding del modello mvc non vedono alcun problema con questo approccio – SilentTremor

risposta

17

È possibile utilizzare la proprietà Name dell'attributo qui.

Esempio:

public class OauthParameters 
{ 
    [FromQuery(Name = "client_id")] 
    public string ClientId { get; set; } 

    [FromQuery(Name = "response_type")] 
    public string ResponseType { get; set; } 

    [FromQuery(Name = "redirect_uri")] 
    public string RedirectUri { get; set; } 
} 
+0

Incredibile. Ci proverò, grazie! – JamieNewman

+0

Perfetto. Esattamente quello che stavo cercando. – JamieNewman

+1

Esiste un equivalente per le richieste POST? – dalemac