在运行时获取绑定的字段名称

时间:2009-10-02 21:15:31

标签: c# asp.net data-binding formview

如果使用双向绑定绑定FormView中的控件(例如Text ='<%#Bind(“FieldName”)%>'),如何检索字段名称“FieldName”?我想用这些信息做几件事;例如,我有一个数据库表,其中包含来自ERWin的所有字段定义的转储,我想以编程方式为每个单独的字段创建某种上下文相关的帮助(数十种形式分布有数百种)。

这与a question asked a year ago完全相同,但答案对我来说没有多大意义。首先,答案似乎是针对GridView而不是FormView(e.Row.Cells [0]放弃了)。其次,SortExpression与任何东西有什么关系?第三,它提到了一个事件论证,但是对于什么事件呢?在OnDataBound中,EventArgs e为空。

2 个答案:

答案 0 :(得分:1)

似乎没有办法从FormView获取此信息,因为列名未存储在您想要的级别。

但是,我必须承认,我不明白你为什么要在运行时检索你在编译时知道的东西。为什么不能只编写你需要的代码?即使您希望代码更通用,也可以创建控件名称及其关联的绑定列名称的字典,以传递给您的类,无论它需要做什么。

关于上一个问题的答案 - GridView将列名存储在SortExpression属性中,以便它知道在用户对网格进行排序时要排序的列。因此,在GridView中,您可以通过SortExpression访问列名。

答案 1 :(得分:0)

执行此操作的一种简单方法是以编程方式将数据字段的名称分配给Formview控件的Tooltip属性,然后在用户将鼠标悬停在这些控件上时,将向用户显示数据字段名称。如果您想要更具体的答案,请说明您是否正在尝试完成此任务。