这个问题之前已经被问过几十次,但从未得到解决。
我有一个UpdatePanel
。
<asp:UpdatePanel ID="UpdatePanelSetupToolbar" runat="server">
<ContentTemplate>
...
</ContentTemplate>
</asp:UpdatePanel>
然而在 Visual Studio (2010 (Professional (Windows (7 (Professional (64-bit)))))) 的 可视化页面设计器 显示以下错误:
创建控件错误 - UpdatePanelSetupToolbar
Type 'System.Web.UI.UserControl' does not have a public property named 'ContentTemplate'.
编辑:为了美观效果,漂亮的屏幕截图中添加了漂亮的颜色
严格来说,上述内容是正确的:UserControl
确实没有名为 ContentTemplate
的公共属性。
幸运的是,我的 UpdatePanel
是一个UpdatePanel
,它确实有一个名为'ContentTemplate'
的公共属性。
那么我该如何让 Visual Studio 知道我的 UpdatePanel
是一个 UpdatePanel
?
重要的附注
上面的代码实际上并不会失败:
<asp:UpdatePanel ID="UpdatePanelSetupToolbar" runat="server">
<ContentTemplate>
...
</ContentTemplate>
</asp:UpdatePanel>
只有当我在...
ContentTemplate 内放入内容时它才会失败:
<asp:UpdatePanel ID="UpdatePanelSetupToolbar" runat="server">
<ContentTemplate>
<Vista:Toolbar ID="ToolbarSetup" runat="server">
<ContentTemplate>
<asp:LinkButton ID="bbSetupDays" ToolTip="Specify how many allocations will be available on these selected days"
OnClick="bbSetupDays_Click"
runat="server">Setup Selected Days</asp:LinkButton>
</ContentTemplate>
</Vista:Toolbar>
</ContentTemplate>
</asp:UpdatePanel>
- 但是Visual Studio没有抱怨内部的
ToolbarSetup
- 它在抱怨外部的
UpdatePanelSetupToolbar
控件
那么
类型“%s”没有名为“%s”的公共属性。
有什么问题吗?
不重要的额外说明
ASP.net网站可以编译、构建和运行良好。只有Visual Studio(2010)设计器会抱怨。
那么类型“%s”没有名为“%s”的公共属性。
有什么问题吗?
系列
这个问题是Stackoverflow系列"Templating user controls"中的一个: