我有这段代码
<li class='<asp:Literal ID="litTest1" runat="server" />'>stuff</li>
在我的计算机上,如果我尝试在我的VS2010中构建应用程序,它会给出“当前上下文中不存在”错误,并且不会在Designer.cs文件中注册该控件。
当我从单引号中删除它并将其放在代码中的某个位置时,它可以完美地工作。此外,如果我在designer.cs中手动编写这些控件,它编译并运行正常。
最奇怪的是,代码在另一台计算机上完全正常,即使它在单引号内也是如此。
这可能是我尚未安装的某些VS2010更新的问题吗?
答案 0 :(得分:1)
这不是VS2010问题..这是一个语法问题
执行此操作时:
<ul>
<li class="<asp:Literal ID='litTest1' runat='server' />">stuff</li>
</ul>
您的输出将是一个没有css类的列表项:
您无法从代码隐藏中访问litTest ..它将无法识别该语法中的控件。
您可以做的是将文字保留在页面上:
<asp:Literal ID='litTest1' runat='server' />
然后在后端添加html:
litTest1.Text = "<ul><li class='MyCssClass'>stuff</li></ul>";