2010-08-01 8 views
14

Funktioniert Response.Write() mit Razor?Funktioniert Response.Write() mit Razor?

Ich versuchte @Html.RenderAction zu verwenden, aber ich den Fehler bekommen:

CS1502: The best overloaded method match for 
'Microsoft.WebPages.WebPageUltimateBase.Write(Microsoft.WebPages.Helpers.HelperResult)' 
has some invalid arguments 

Antwort

22

Dies ist die korrekte Syntax:

@{Html.RenderAction("Index", "Menu");} 

Oder nur Aktion mit:

@Html.Action("Index", "Menu") 
+1

Stapler bekam es. Es ist wie mit <% = eine Methode aufzurufen, die Void zurückgibt. Sie erhalten einen Compiler-Fehler, wenn Sie keine korrekte Überladung finden. "@Foo" <==> "<%= Foo %>" und "@ {Foo}" <==> "" –

+0

In der MVC 3 RTM bekomme ich diese 'Keine Überladung für Methode' Schreiben 'nimmt 0 Argumente' - so bin ich nicht davon überzeugt, dass es funktioniert . Würde gerne korrigiert werden, da Html.Action kein Lambda benötigt und ich gezwungen bin stattdessen RenderAction zu verwenden. [oh und ich bekomme diesen Fehler, ob ich ein Lambda oder nicht verwende] –

+0

+1 Ich würde nur hinzufügen, dass es als bevorzugt, RenderAction zu verwenden, da es in den Antwort-Stream ohne String-Erstellung ausgibt. – JasonCoder

Verwandte Themen