Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/338.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#Value成员属性重新填充或重新呈现控件_C#_Vb.net - Fatal编程技术网

C#Value成员属性重新填充或重新呈现控件

C#Value成员属性重新填充或重新呈现控件,c#,vb.net,C#,Vb.net,我只是想确认几件事 I)代码片段: cmb1.Datasource= dt; cmb1.Valuemember = "value"; 控件渲染是否为该控件执行了2次,因为在分配数据源后,值成员发生了更改,因此额外执行了1次是这样吗? II)我如何追踪C#中的这些重新种群?我只是想调试、查看和确认?请举个例子好吗 谢谢 Karthik这取决于数据绑定控件的实际实现。我希望一个“好的”控件只在需要时检索数据,因此更改这些属性除了清除现有绑定(如果有的话)并创建新的绑定之外什么也做不了,而不实际检索

我只是想确认几件事

I)代码片段:

cmb1.Datasource= dt;
cmb1.Valuemember = "value";
控件渲染是否为该控件执行了2次,因为在分配数据源后,
成员发生了更改,因此额外执行了1次是这样吗?

II)我如何追踪C#中的这些重新种群?我只是想调试、查看和确认?请举个例子好吗

谢谢
Karthik这取决于数据绑定控件的实际实现。我希望一个“好的”控件只在需要时检索数据,因此更改这些属性除了清除现有绑定(如果有的话)并创建新的绑定之外什么也做不了,而不实际检索数据

您可以使用探查器跟踪这些内容,或者绑定到您的类并设置断点或增加计数器。

I)这取决于具体情况。如果这是针对asp.net站点的,那么在实际发生任何事情之前,还必须调用DataBind()方法。但否则,数据绑定可能会发生两次


II)您可以通过构建一个返回数据表的方法,并将该方法绑定为数据源来跟踪它。然后,您可以在方法内设置断点,并观察断点何时被击中。

有关问题2的答案,请参见此问题:它不是重新查询数据库。是的,如果数据源触发更改通知,它可能会重新绘制自身以反映更改。我按照您的建议进行了操作,只调用了一次。在值成员更改时,它将重新填充控件。对吗?不,它不会重新填充控件。