什么类似于WPF的ASP.Net的ValueConverters?

时间:2009-07-10 08:09:08

标签: c# asp.net wpf valueconverter

在使用WPF完成一个项目并且非常依赖它的优秀数据绑定功能之后,我现在又回到了ASP.Net并且开始错过了一些WPF的东西。

我的问题是...... 是否有类似于WPF的ASP.Net的ValueConverters

例如,我希望UserControl公开一个IEnumerable<int>的公共属性,用户可以从源中输入:

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

然后TheList中的值将转换为IEnumerable<int>,类似于WPF的ValueConverter。

[更新]解决方案

感谢Nathan Baulch's提到TypeConverter,我遇到了this question,我设法建立了一个字符串列表转换器。

2 个答案:

答案 0 :(得分:2)

我建议你看一下System.ComponentModel.TypeConverter

关于CodeProject的

This文章包含一个与你的相关的示例,涉及纬度和经度字符串。

答案 1 :(得分:0)

我想不是。我最好的猜测是从String到IEnumberable的隐式转换,这通常是一件非常糟糕的事情,但在你的情况下会有效。

标记中的所有内容始终被视为字符串,除非放入<% %> - 然后才会被解释。

您还可以做的是定义IEnumerable DataSource控件。然后,MyControl将从其获取IEnumerable数据的位置获取TheListDataSourceID。

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

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

然后IEnumerableDataSource将进行转换,并为想要它的用户控件返回IEnumerable。比隐式转换更好的情况。