昨天我开始编写 C# 以便为 Umbraco 开发用户控件,我遇到了一个众所周知的问题,我收到错误“当前上下文中不存在 * 名称”。我找到了针对该特定问题的无数答案,例如:
修复 Web Developer Express 中的“名称在当前上下文中不存在”错误
http://forums.asp.net/t/1006588.aspx/1?The+name+xxx+Does+Not+Exist+in+the+Current+Context
...等等等等。
然而,这些问题都没有帮助我解决我的问题,我仍然把头撞在墙上。
然后我发现我的标签及其控件会被我的 *.apsx.cs 文件发现,只要我不将它们放在任何非 asp:-tag 中!
我正在尝试使用自定义模板制作自定义登录控件,因为我需要 -tag。此外,我将它放在 LoginView 控件内部。
<asp:LoginView ID="MemberValidation" runat="server">
<AnonymousTemplate>
<asp:Login ID="MemberLogin" runat="server" OnLoggedIn="MemberLogin_OnLoggedIn">
<LayoutTemplate>
<asp:Literal ID="InformationMessage" runat="server"></asp:Literal>
</LayoutTemplate>
</AnonymousTemplate>
<LoggedInTemplate>...</LoggedInTemplate>
</asp:LoginView>
我的 LiteralControl(以及我拥有的所有其他 LiteralControls - 这只是一个小例子)没有自动注册到 *.aspx.design.cs 文件中,因此,在我的 *.aspx.cs 文件中无法访问它,但是如果我删除标签和标签,我的 LiteralControl 弹出。
但是,我需要这两个标签才能使代码按我的意愿运行,所以我的问题仍未解决:我能做什么?它是一个错误吗?
提前致谢, Brinck10