Pergunta

Eu tenho um objeto chamado 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)
   }
}

Então, o que eu quero é para a ligação automática do modelo na edição ou criar ação para definir esta instância de tempo a partir de uma string (ou seja, alimente o método parse com a string e retorne o resultado).

A razão pela qual estou fazendo isso é que terei uma lista suspensa com horários selecionáveis. O valor de cada opção será a string legível pelo analisador.

Alguém pode fornecer um exemplo de método BindModel a partir da interface Imodelbinder?

Foi útil?

Solução

Ok, eu encontrei o que queria. Videira de modelo por Scott Hanselman Você é uma lenda Scott.

O componente principal estava usando o "bindingContext.modelname" para obter o nome da chave e depois puxar o valor do provedor de valor como assim:

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

Claro que essa é uma implementação bastante ingênua, mas isso me iniciou.

Outras dicas

Usando o contexto de ligação, você pode obter um identificador para o ValueProvider ou a própria solicitação e retirar o valor e analisá -lo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top