2016-04-29 10 views
1

Ich habe kürzlich mein Projekt von MVC3 auf MVC4 verschoben. Das Projekt lief in MVC3 einwandfrei, jedoch erhalte ich diesen Fehler, wenn ich meinen Code ausführe.C# Unerwartet dieses Schlüsselwort nach @ Charakter

Unerwartetes "dieses" Schlüsselwort nach "nach" Zeichen. Einmal im Code, brauchen Sie keine Konstrukte wie \ „dieses“ \ und \ Präfix „@ \“. \ R \ n

Ich habe versucht, das Hinzufügen Klammer vor dieser und nach @, aber immer noch die gleichen Error.

Unten ist Code. dies ist der einzige Code auf der Seite

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

Dies ist die einzige Seite, die den Fehler empfängt, ich habe ein paar andere Seiten, die einen ähnlichen Code mit @this am Anfang der Zeile, aber tut kein Fehler. Nicht sicher, was ich vermisse.

+1

Ich habe keinen anderen Kontext Ich kann nur spekulieren, aber ich würde vermuten, dass dies in einem bereits geöffneten Codeblock ist, weshalb es heißt "Einmal im Code müssen Sie nicht ..." –

+1

haben Sie versuchte nur '@ Html.Action ...'? –

Antwort

0

Die eigentlich 4.

ein bug in .NET MVC Sie Ihren Code einschließlich und @ in einer anderen Erklärung Einwickeln könnten, vielleicht ein @using oder ein @if.

Wie es in this answer kommentiert wird, was Sie tun können, ist:

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

Eine weitere Möglichkeit nur this ist die Entfernung, wie der aktuelle Kontext der Seite selbst, und Html Eigenschaft wird in WebPage Objekte standardmäßig enthalten .

-1

Entfernen Sie "dies". vor Html.Action. Dies sollte Ihr Problem lösen.

+1

Ich habe das versucht, aber ich bekomme immer noch den Fehler – A90902711