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

问题描述 投票:5回答:3

我在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文件:

protected void Page_Load(object sender, EventArgs e)
{

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

错误图片

enter image description here

c# asp.net
3个回答
3
投票

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

例如,您可以有两个前端文件:signup.ascxsignupLight.ascx

然后,这些文件引用共享的后端代码文件:signup.ascx.cs

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

例如你的例子中的UserName HtmlInputText控件可能存在于signup.ascx但不存在signupLight.ascx,因此当你在signup.ascx.cs中引用它时,它显示其中一个引用缺失。

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

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


1
投票

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

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


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.