Pergunta

Depois de fazer um projeto com o WPF e se apegar muito aos seus excelentes recursos de banco de dados, agora voltei para o ASP.NET e estou começando a perder algumas das coisas do WPF.

Minha pergunta é...Existe algo semelhante ao valueConverters da WPF para asp.net?

Por exemplo, eu quero que um UserControl exponha uma propriedade pública que seja um IEnumerable<int> e o usuário pode entrar nessa fonte:

<asp:MyControl1 runat="server" ID="something" TheList="1,3,5,7"/>

E então o valor em TheList será convertido em um IEnumerable<int>, com algo como um valueConverter da WPF.

Atualização] Solução

Graças a Nathan Baulch's menção de a TypeConverter, Eu passei essa questão E eu consegui criar uma string para listar o conversor.

Foi útil?

Solução

Eu recomendaria que você dê uma olhada em System.comPonentModel.typeconverter.

este O artigo sobre o CodeProject inclui um exemplo bastante semelhante ao seu envolvendo strings de latitude e longitude.

Outras dicas

Eu acho que não. Meu melhor palpite é a conversão implícita de string para ienumerable, o que, em geral, é uma coisa muito ruim, mas funcionaria no seu caso.

Tudo na marcação é sempre tratado como corda, a menos que seja colocado <% %> - Então está sendo interpretado.

O que mais você poderia fazer é definir o controle de fonte de dados IEnumerable. Em seguida, o MyControl teria thelistdataSourceid de onde levará os dados IENumerable.

<asp:MyControl1 runat="server" ID="something" TheListDataSourceID="myDataSource" />

<asp:MyIEnumerableDataSource runat="server" ID="myDataSource" TheList="1,3,5,7" />

Em seguida, o iEnumerableDataSource faria a conversão e retornaria Ienumerable para o controle do usuário que deseja. Caso muito melhor do que a conversão implícita.

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