我已经扩展了TreeView控件,以创建我自己的版本,并提供更多功能。
在Visual Studio的“设计视图”中,我可以单击一个控件,在“属性”面板中查看其事件,然后双击一个事件,它会将我引入代码隐藏并为事件创建一个空的处理程序。 / p>
我遇到的问题是我的'CustomTreeView'控件实际上不会触发此Handler,除非我在'Page_Load'
事件中明确说明以下内容:
CustomTreeView1.SelectedNodeChanged += new EventHandler(CustomTreeView1_SelectedNodeChanged);
所以我可以使工作,但我想知道为什么我必须这样做以及如何通过让它自动发生来绕过它。
更新1 :我刚从头开始使用包含Web应用程序和控件库项目的新解决方案,以最基本的方式扩展TreeView并测试事件。它们按预期工作,无需额外的连线代码。我一般认为这个解决方案出了问题。
更新2 :我有一个解决方案 - Visual Web Developer Express 2010在响应添加的事件处理程序方面非常突然。有时,我在属性面板中双击事件名称,即使它在我的代码隐藏中创建了一个处理程序,它根本不会更新aspx页面中的标记。其他时候,它会将全部小写的事件名称添加到Tag中,这意味着它会在运行时丢失。我会检查是否有一个我错过的补丁。
更新3 :VWD现在表现得非常奇怪 - 通过智能标记对GUI向导中的SqlDatasource所做的更改不会保存到基础标记代码中。我把这个问题归结为一个破损的安装。