您可以使用导航栏切换上下文

时间:2017-03-04 18:35:10

标签: c# asp.net

我在ASP.net网站上工作,在我的一个表单中我添加了HTML控件,而从代码隐藏文件中使用该控件我得到了错误,这是我无法理解的。

  <table style="width: 100%;" class="table-responsive">
            <tr>
                <td>
                    <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
                     <input id="UserName" runat="server" type="text" class="form-control" placeholder="Username" required="required"/>
                </td>
            </tr>
            <tr>

codeBehind file:

protected void Page_Load(object sender, EventArgs e)
{

}
public void signupData()
{
    string s = UserName.text;
}

错误图片

enter image description here

4 个答案:

答案 0 :(得分:3)

当两个前端文件引用单个后端类时,可能会出现此消息。

例如,您可以有两个名为signupLight.ascxsignup.ascx.cs

的前端文件

然后,这些文件引用共享的后端代码文件:UserName HtmlInputText

出现问题的地方是您将控件添加到其中一个前端文件而不是另一个。

e.g。您的示例中的signup.ascx控件可以存在signupLight.ascx但不存在signup.ascx.cs,因此当您在.exclude中引用它时,它会显示缺少其中一个引用。

如果您通过制作具有不同文件名但未添加{{1}}文件扩展名的副本来备份前端文件,则可能会出现另一个示例。这将干扰尝试在后端引用新的前端控件,因为代码文件标记仍然指向后面的实时代码。

不幸的是,visual studio强调这需要切换上下文并显示两个相同项目的名称而不是引用引用的实际文件,因此您可能必须在项目中搜索后端文件名以查找所有活动的前端文件,它们被引用。

答案 1 :(得分:1)

Visual Studio给了我同样的错误。确保没有前端文件引用相同的后端文件。

对我来说,修复方法是在关联的aspx.cs文件中将CodeFile更改为CodeBehind。这解决了错误。

答案 2 :(得分:0)

You can use the navigation bar to switch context不是错误。它只表示您可以使用navigation bar在不同的上下文中查看代码。

如果您在两个项目中使用一个类(通过使用链接文件),您可以使用该栏查看ProjectA或ProjectB中的代码。

答案 3 :(得分:0)

两个步骤: 打开扩展->管理扩展 选择 Installed->"Visual Studio Rich Navigation" 并禁用它!

并启动 Visual Studio 安装程序并安装“SDK 包 .NET 编译器平台”。 它会有所帮助。