【问题标题】:You can use the navigation bar to switch contex [duplicate]您可以使用导航栏切换上下文 [重复]
【发布时间】:2017-07-24 19:09:33
【问题描述】:

我在 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>

代码隐藏文件:

protected void Page_Load(object sender, EventArgs e)
{
   
}
public void signupData()
{
    string s = UserName.text;
}

错误图片

【问题讨论】:

  • 我也有同样的错误!!!?
  • @HishamKaram 我已经阐明了这个问题的原因 - 请参阅下面的新答案

标签: c# asp.net


【解决方案1】:

两个步骤: 打开扩展->管理扩展 选择已安装->“Visual Studio Rich Navigation”并禁用它!

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

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

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

      问题出现在您将控件添加到一个前端文件而不是另一个。

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

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

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

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2017-09-28
          • 1970-01-01
          • 1970-01-01
          • 2017-08-27
          • 2018-01-22
          • 1970-01-01
          • 2018-12-01
          • 1970-01-01
          相关资源
          最近更新 更多