我知道这已被问了好几百次,但我无法找到解决问题的方法。 我有这个ascx文件:
<%@ Control Language="C#" AutoEventWireup="true" Inherits="FrontClass.CreateClientPortals.TopNavBar, FrontClass.CreateClientPortals, Version=1.0.0.0, Culture=neutral, PublicKeyToken=40f3875c9d373801"%>
<div>
<asp:Literal ID="test1" runat="server" visible="true">some text</asp:Literal>
</div>
这个代码隐藏:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web.UI.WebControls;
namespace FrontClass.CreateClientPortals
{
public partial class TopNavBar : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
test1.visible = false;
}
}
}
尝试编译时,收到错误: 名称'test1'在当前上下文中不存在
我应该注意两个文件都不在同一个目录中(它们是否需要?)而且我似乎无法生成designer.cs文件(尝试在设计模式下编辑ascx文件,但它没有出现)。 ascx文件我从另一个项目复制过来。
感谢帮忙
答案 0 :(得分:1)
如果没有设计器文件,您需要手动添加对test1的引用。将此添加到您的代码隐藏。 Studio创建了将所有内容链接在一起的部分类,而没有设计器文件则缺少引用。
protected global::System.Web.UI.WebControls.Literal test1;