ASP.NET如何解决CS1513:}页上的预期错误



我在运行时查看ASP时遇到错误。NET页面。我没有得到任何构建错误,但我在运行时得到了以下编译器错误:

编译错误

描述:编译服务此请求所需的资源时出错。请查看以下特定错误的详细信息,并适当地修改源代码。

Compiler Error Message: CS1513: } expected
Source Error:

Line 329:            #line hidden
Line 330:            __output.Write("rnttt</div>rntt");
Line 331:        }
Line 332:        
Line 333:        private System.Web.UI.Control __BuildControl__control7() {
Source File: c:WindowsMicrosoft.NETFrameworkv1.1.4322
    Temporary ASP.NET Filesxxxxxxxx450ffa78d46d847d
    k1gsz9dj.0.cs    Line: 331 

我在源代码中找不到任何丢失的},并且此错误发生在临时ASP中生成的代码文件中。NET Files目录。如何将其跟踪到页面或页面上的用户控件中实际格式错误的代码行?

如果错误代码如下所示:

如果变量名称与保留字相同,则可以重命名变量。

一个代码段,例如:

@model MyModel
{
    var appname = @Model.Apps.FirstOrDefault(x => x.ID == Model.SelectedApp);
}

删除Model.Apps.FirstOrDefault(x => x.ID == Model.SelectedApp) 之前的"@"

一种代码段或部分的用法,如:

@section{ 
    <!-- hiiii it's not about an error -->
}

删除节中注释中的撇号。

如果不是这些特定情况,您可以尝试通过应用源减少来定位错误的产生位置。删除/剪切/注释掉代码片段,直到你能够可靠地关闭和打开错误。如果不是上述情况之一,打开错误的代码很可能是罪魁祸首。

在标记(aspx或ascx)中查找以下块

<% ... some C# code.... { %>
   markup(controls, html etc)
<% } %>

任何打开的括号{都需要用另一个括号}闭合。

这些页面或控件由ASP编译一次。当他们第一次被请求时。

Visual Studio不编译aspx or ascx文件
如果项目是"网站"类型,Visual Studio会编译aspx/ascx文件,但如果项目为"Web应用程序"类型,则Visual Studio不会"编译"标记(它不会生成与aspx/ascx标记对应的类)

在我的网站上,问题是由如下代码块引起的:

            @{  
                var currentNode = @linkedList.Find(@CurrentPage);
                if (@currentNode.Next != null)
                {
                    var next = @currentNode.Next;
                    <li>
                        @next.Name
                    </li>
                }
                if (@currentNode.Previous != null)
                {
                    var prev = @currentNode.Previous;
                    <li>
                        @prev.Name
                    </li>
                }
            }

我不知道为什么这个问题是由嵌套引起的。这可能是编译器中的错误。

我遇到了一个类似的问题,oculd只是在尝试和错误日志后才发现。

我犯的错误是在foreach循环内的变量中添加一个"@",该循环以开头

@foreach

正如错误所示,您缺少一个右大括号"}"

查看msdn编译器错误文档:

  • http://msdn.microsoft.com/en-us/library/83ht1k63(v=vs.80).aspx

如MSDN上的示例:

// the below will cause CS1513 since namespace is missing '}'
namespace y    
{
   class x
   {
      public static void Main()
      {
      }
   }

尝试在visualstudio中编译它。我认为它还将显示代码中不完整大括号的确切行。

编译错误cs1513

相关内容

  • 没有找到相关文章

最新更新