c#@字符后出现这个关键字

时间:2016-04-29 15:45:48

标签: c# asp.net-mvc asp.net-mvc-4 razor

我最近将我的项目从MVC3移到了MVC4。该项目在MVC3中运行良好,但在运行我的代码时收到此错误。

  

意外的"这个" \"之后的关键字\"字符。进入内部代码后,您不需要为\"这个" \和\" @ \"。\ r \ n

构造前缀

我尝试在此之前和@之后添加括号,但仍然会得到相同的错误。

下面是代码。这是页面上唯一的代码

<div>
<div class="procedure1_create">
    @(this.Html.Action("New", "CreateProcedure1", new { area = string.Empty, showButtons = this.ViewBag.ShowButtons ?? true, refreshDocumentList = this.ViewBag.Refresh ?? true }))
</div>

这是收到错误的唯一页面,我有一些其他页面在行的开头与@this具有相似的代码,但不会出错。不确定我错过了什么。

2 个答案:

答案 0 :(得分:0)

这实际上是.Net MVC 4中的bug

您可能会将代码包装到另一个语句中,包括和@,可能是@using@if

正如this answer中所述,您可以做的是:

@: @(this.Html.Action("New", "CreateProcedure1", new { area = string.Empty, showButtons = this.ViewBag.ShowButtons ?? true, refreshDocumentList = this.ViewBag.Refresh ?? true }))

另一种可能性就是删除this,因为您当前的上下文是页面本身,Html对象默认包含WebPage属性。

答案 1 :(得分:-1)

删除“这个”。在Html.Action之前。这应该可以解决您的问题。