【发布时间】:2010-05-26 16:15:37
【问题描述】:
希望有人能指出我正确的方向。
我在 VB 中创建了一个用户控件,它比 DataPager 更有效地处理分页(至少对于非常大的数据集)。我想在 C# 项目中使用它,但我无法让它工作。
我尝试简单地将 PagingControl.ascx 添加到 C# 项目中,但是当我这样做时,后面的标记和 VB 代码似乎看不到对方。 --这是命名空间问题吗?
我尝试将 PagingControl.ascx 添加到它自己的 VB 项目中,然后将该项目添加到 C# 项目的解决方案中,以及参考。 ——这几乎行得通。我可以在标记中注册 PagingControl 用户控件。我可以在后面的代码中访问用户控件的属性,但是任何涉及用户控件 UI 的属性都会失败。
在 C# 页面的 Page_Load 事件处理程序触发时,似乎用户控件的表单还没有机会加载。 --也许这是一个“操作顺序”问题?应该在 C# 页面生命周期的哪个时间点加载用户控件的表单?
如果有人有任何想法或见解,我将不胜感激。提前致谢。
【问题讨论】:
-
"但是任何涉及用户控件 UI 的属性都会失败。"失败的本质是什么?您是说它在设计时失败(即 Intellisense 失败)还是在运行时(引发异常)。
-
我得到的错误是:“System.NullReferenceException:对象引用未设置为对象的实例。”调试时,如果我将鼠标悬停在控件名称和属性上,我不会得到描述控件的通常弹出消息。它好像它不存在(还)。 Intellisense 在不调试时工作。
-
“控件名称和属性”是指用户控件中使用的控件,而不是用户控件本身。
-
这是一个网络应用程序还是一个网站项目?您可以与网站项目混合搭配,但不能与 Web 应用程序项目混合搭配。
-
它是一个 Web 应用程序项目。也许在一个项目中混搭是不可能的,但在两个项目之间肯定是可能的。是否可以将一个项目的 C# 用户控件添加到另一个项目的 C# 页面?
标签: c# asp.net vb.net user-controls