【问题标题】:using If statment included in axpx page generates compile error使用 aspx 页面中包含的 If 语句会生成编译错误
【发布时间】:2011-02-05 18:25:32
【问题描述】:

我有一个 default.aspx

还有一个 sidebar.aspx

我将侧边栏包含在我的默认设置中:

<!--#include file="../sidebar.aspx"-->  

它成功包含没有任何错误 我在我的 sidbar 文件中使用了这段代码:

<% if (True) { %>
    <div class="left-box">
        ....
    </div>
<% } %>

当我刷新页面@开发服务器时它工作正常 但是 vs 2010 显示编译错误:

错误 25 预期语句结束。 C:\Users\user\Documents\Visual Studio 2010\WebSites\WebSite2\sidebar.aspx 6

错误 24 'If' 必须以匹配的 'End If' 结尾。 C:\Users\user\Documents\Visual Studio 2010\WebSites\WebSite2\sidebar.aspx 6

错误 26 语法错误。 C:\Users\user\Documents\Visual Studio 2010\WebSites\WebSite2\sidebar.aspx 22

更新EEEEEEEEEEEEEE! -> 在我的 default.aspx 顶部是 -> 然后我包含了我的sidebar.aspx ....我不知道为什么sidebar以VB运行...我没有在这个文件的顶部使用任何页面语言...它应该使用default.aspx语言

【问题讨论】:

  • 如果它期待结束 if,那么它正在尝试解析 Visual Basic。我不使用 .NET 服务器,但我认为有一些方法可以将其更改为使用 C#。

标签: c# .net asp.net compiler-errors


【解决方案1】:

检查 指令中的“语言”属性。确保将其设置为“c#”(错误消息听起来像是页面正在使用 vb)

【讨论】:

  • 在我的 default.aspx 顶部是 -> 然后我包括了我的 sidebar.aspx .... 我不知道为什么侧边栏运行为 VB ...我没有在这个文件的顶部使用任何页面语言 ... 它应该使用 default.aspx 语言
  • sidebar.aspx 文件中的语言设置是什么?
【解决方案2】:

True 更改为true。它正在尝试编译为 VB.NET

【讨论】:

  • 在我的 default.aspx 顶部是 -> 然后我包括了我的 sidebar.aspx .... 我不知道为什么侧边栏运行为 VB ...我没有在这个文件的顶部使用任何页面语言 ... 它应该使用 default.aspx 语言
  • 每个aspx 页面都是单独编译的。我的猜测是 sidebar.aspx 的顶部没有任何语言声明,因此 .NET 会尝试根据脚本的第一位 (if (True)...) 猜测语言。验证您的 web.config 中有一行,例如 &lt;compilation defaultLanguage="C#"&gt;
【解决方案3】:

除了将“True”更改为“true”外,它对我来说工作正常...您确定页面需要 C# 代码,而不是 VB 代码吗?

【讨论】:

  • 在我的 default.aspx 顶部是 -> 然后我包括了我的 sidebar.aspx .... 我不知道为什么侧边栏运行为 VB ...我没有在这个文件的顶部使用任何页面语言 ... 它应该使用 default.aspx 语言
【解决方案4】:

另一种选择:

if ( 1 == 1) {

【讨论】:

  • 在我的 default.aspx 顶部是 -> 然后我包括了我的 sidebar.aspx .... 我不知道为什么侧边栏运行为 VB ...我没有在这个文件的顶部使用任何页面语言 ... 它应该使用 default.aspx 语言
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-22
  • 2011-03-05
  • 1970-01-01
  • 1970-01-01
  • 2015-01-21
  • 2020-11-25
  • 2023-03-13
相关资源
最近更新 更多