J'ai un projet qu'il avait été développé sous MVC1 et après il y a quelques mois je l'ai mis à jour dans MVC2.Méthode non trouvée: 'System.Web.Mvc.MvcHtmlString System.Web.Mvc.Html.LinkExtensions.RouteLink (System.Web.Mvc.HtmlHelper, System.String, System.Object)'
Tout allait bien, le jour où j'ai eu besoin de formater mon ordinateur.
Et que peut-il se passer avec un format? Je ne sais pas Rire
J'ai installé le MVC2 après la mise en forme, j'importe le projet existant, je le compile, et aucune erreur n'a été affichée pendant sa construction, mais à partir du moment où je l'ai téléchargé dans la production serveur, je reçois cette erreur.
Méthode non trouvée: 'System.Web.Mvc.MvcHtmlString System.Web.Mvc.Html.LinkExtensions.RouteLink (System.Web.Mvc.HtmlHelper, System.String, System.Object)' .
Je n'arrive pas à comprendre ce qui a causé le problème.
Certes, je suppose que c'est à voir avec MVC1 et je l'ai référencé, mais sans chance encore.
Theese sont les méthodes que le problème est venu de
public static string PagerLinks(this HtmlHelper htmlHelper, string controllerName,
string actionName, int pageCount, int pageIndex, string cssClass, string moreTextCssClass,
string currentPageCssClass, int totalProducts) {
return PagerLinks(htmlHelper, controllerName, actionName, pageCount, pageIndex, "First",
"Previous", "Next", "Last", "more pages", cssClass, moreTextCssClass,
currentPageCssClass, totalProducts);
}
public static string PagerLinks(this HtmlHelper htmlHelper, string controllerName,
string actionName, int pageCount, int pageIndex, string firstPage, string previousPage,
string nextPage, string lastPage, string moreText, string cssClass, string moreTextCssClass,
string currentPageCssClass, int totalProducts) {
var builder = new StringBuilder();
if (String.IsNullOrEmpty(controllerName))
throw new Exception("controllerName and actionName must be specified for PageLinks.");
if (pageCount <= 1)
return String.Empty;
if (String.IsNullOrEmpty(cssClass)) builder.Append("<div>");
else builder.Append(String.Format("<div class=\"{0}\">", cssClass));
builder.Append(string.Format("{0} <b>{1}</b>", "total", totalProducts));
builder.Append("<br />");
if (pageIndex != 1) {
// first page link
builder.Append(
htmlHelper.RouteLink("First", new {
controller = controllerName,
action = actionName,
id = 1
}, new { title = firstPage }
)
);
////
///
more code
///
///
}
Voici la syntaxe d'appel
<%=Html.PagerLinks((string)ViewData["Controller"], "Page", (int)ViewData["TotalPages"], (int)ViewData["Page"], "theCssClass", "theMoreTextCssClass", "theCurrentPageCssClass", (int) ViewData["TotalProducts"])%>
méthode PagerLinks intérieur existe cette ligne que je croyais que ce soit, comme l'erreur message dit, l'erreur.
htmlHelper.RouteLink("First", new {controller = controllerName,action = actionName,id = 1}, new { title = firstPage })
mais je reçois l'erreur que lorsque je l'appelle via
<%=Html.PagerLinks((string)ViewData["Controller"], "Page", (int)ViewData["TotalPages"], (int)ViewData["Page"], "theCssClass", "theMoreTextCssClass", "theCurrentPageCssClass", (int) ViewData["TotalProducts"])%>
si je commente la ligne ci-dessus et l'a remplacée par la ligne ci-dessous juste pour le test, rien ne se passe
htmlHelper.RouteLink("First", new {controller = controllerName,action = actionName,id = 1}, new { title = firstPage })
Je vous remercie des suggestions
Toutes les références sont réduites à MVC2. Je vais essayer d'utiliser les contrats à terme MVC. Enfin, le problème se déclenchant sur ActionLink ou RouteLink mais seulement lorsque le HtmlHelper s'étend. J'espère que MVC futures pour donner une solution à mon problème – StrouMfios