Algo semelhante ao valueConverters da WPF para asp.net?
-
12-09-2019 - |
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.
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.