Domanda

Ho un oggetto chiamato Tempo

public class Time{
   public int Hour  {get;set;}
   public int Minute {get;set;}     

   public static Time Parse(string timeString){
   //reads the ToString()'s previous output and returns a Time object
   }

   override protected string ToString(){
   //puts out something like 14:50 (as in 2:50PM)
   }
}

Quindi quello che voglio è per il modello automatico vincolante per il modificare o creare un'azione per impostare questa istanza Tempo scaduto da una stringa (vale a dire alimentano il metodo Parse con la stringa e restituire il risultato).

Il motivo per cui sto facendo questo è che avrò un DropDownList con tempi selezionabili. Il valore di ciascuna opzione sarà la stringa leggibile parser.

Qualcuno può fornire un esempio metodo di BindModel dall'interfaccia IModelBinder?

È stato utile?

Soluzione

OK, ho trovato quello che volevo. Modello Binding da Scott Hanselman Tu sei una leggenda Scott.

Il componente chiave stava usando il "bindingContext.ModelName" per ottenere il nome della chiave e poi tirare il valore dal fornitore di valore in questo modo:

bindingContext.ValueProvider.GetValue(bindingContext.ModelName).AttemptedValue

Certo che è un'implementazione abbastanza ingenuo, ma mi ha iniziato.

Altri suggerimenti

utilizzando il contesto vincolante è possibile ottenere un handle per la ValueProvider o la richiesta in sé e tirare fuori il valore e analizzarlo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top