J'ai de la difficulté avec Html Helpers lorsqu'il est utilisé avec un Rasoir. Dit les aides a bien fonctionné dans MVC 2 avec le formulaire web moteur d'affichage. Mais pas dans le rasoir. L'erreur que je reçois au moment de l'exécution est:
Compiler Error Message: CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
Source Error:
Line 1: @using Wingspan.Web.Mvc;
Line 2: @Html.IncrementalMenu(MenuBlock.Site)
L'expansion de l'Détaillés Sortie du Compilateur révèle:
d:\...\Views\Shared\MenuTop.cshtml(2,1): error CS1502: The best overloaded method match for 'System.Web.WebPages.WebPageExecutingBase.Write(System.Web.WebPages.HelperResult)' has some invalid arguments
d:\...\Views\Shared\MenuTop.cshtml(2,7): error CS1503: Argument 1: cannot convert from 'void' to 'System.Web.WebPages.HelperResult'
Cela m'indique que le rasoir n'aime pas mon aide, IncrementalMenu, de retour void (qui fonctionne très bien en MVC 2 formulaire web moteur de vues).
Je n'ai pas d'erreurs lors de la Compilation, bien que la ligne de code (@Html.IncrementalMenu(...)) est souligné rouge avec le message suivant:
Cannot implicitly convert type 'void' to 'object'
IncrementalMenu est dans l'Aile.Web.Mvc espace de noms. C'est la signature est la suivante:
public static void IncrementalMenu(this HtmlHelper html, MenuBlock menuBlock)
{
// Uses an HtmlTextWriter to render a menu from the sitemap
}
Je suis emporté si je sais ce qui est faux...
PS:
Le MenuBlock paramètre est juste un enum qui définit la façon dont le menu doit s'afficher. Ne pas se concentrer sur ce que c'est très bien.