Pergunta

ScottGu neste post texto do link mostra como se pode utilizar EditorTemplates para as coisas como um País DropDownList.A minha pergunta é como se pode passar uma lista dinâmica de Países para o EditorTemplate?

Foi útil?

Solução

Você pode passar por isso Ver dados e Feed ViewData de e ActionFilter se os dados forem necessários com muita frequência (embora discutível seja um Anti-padrão).

Outras dicas

Melhor ainda, você torna a visão parcial digitada fortemente e passa o modelo para o editor para ajudante

@Html.EditorFor(m=>m.SelectedCountry, Model.AvailableCountries)

Provavelmente, a solução mais elegante é usar um atributo personalizado, você pode acessar os metadados do modelo usando: ViewData.modelmetadata.

por exemplo:

 [Foreign(Type="DropDown", TableName="Countries")]
   public int IdCountry { get; set; }

Onde o Foreigntribute é uma aula que você deve declarar e, posteriormente, use -a para criar seu modelo de editor.

Semelhante a @Benja resposta

Você também pode usar o [AdditionaMetaData(chave,valor)] atributo de uma forma semelhante, sem ter de definir o seu próprio atributo.A chave e o valor tem que ser cadeias de caracteres.

Dados adicionais podem ser obtidas no modo de exibição com:@ViewData.ModelMetadata.AdditionalValues["DropDownData"]

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