So folge ich den Beispielen in dem Buch ASP.NET und MVC 5. Hier ist die Ansicht, die Ergebnisse der Fehler:Fehler zusammen mit ASP.NET und MVC 5 ... Fehler CS0246: Der Typ oder Namespace konnte nicht gefunden werden
@model SportsStore.WebUI.Models.ProductsListViewModel
@{
ViewBag.Title = "Products";
}
@foreach (var p in Model.Products)
{
<div>
<h3>@p.Name</h3>
@p.Description
<h4>@p.Price.ToString("c")</h4>
</div>
}
<div>
@Html.PageLinks(Model.pagingInfo, x => Url.Action("List", new { page = x}))
</div>
Intellisense setzt die rote squigly Linie unter pagelinks (jedoch in die Bücher projizieren sie erkennt es richtig). Pagelinks wird im selben Projekt wie folgt definiert (es gibt drei Projekte in dieser Lösung):
using System;
using System.Text;
using System.Web.Mvc;
using SportsStore.WebUI.Models;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace SportsStore.WebUI.HtmlHelpers
{
public static class PagingHelpers
{
public static MvcHtmlString PageLinks(this HtmlHelper html, PagingInfo pagingInfo, Func<int, string> pageUrl)
{
StringBuilder result = new StringBuilder();
for (int i = 1; i <= pagingInfo.TotalPages; i++)
{
TagBuilder tag = new TagBuilder("a");
tag.MergeAttribute("href", pageUrl(i));
tag.InnerHtml = i.ToString();
if (i == pagingInfo.CurrentPage)
{
tag.AddCssClass("selected");
tag.AddCssClass("btn-primary");
}
tag.AddCssClass("btn btn-default");
result.Append(tag.ToString());
}
return MvcHtmlString.Create(result.ToString());
}
}
}
Aus welchem Grund es sagt mir, es nicht den sportsstore Namespace finden. Ich bin hier so festgefahren. Ich habe das fertige Projekt tatsächlich aus dem Buch zusammengestellt und bin durchgegangen, um nachzusehen, ob ich irgendwelche Unterschiede finden kann, bisher kein Glück. Ich überprüfte buchstäblich jede Referenz und verglich beide web.config-Dateien (die wichtigste und die für die Ansicht). Selbst wenn ich eine @ using-Anweisung in die Ansicht lege, findet sie sie immer noch nicht. Ich hatte viele Probleme, dieses Projekt tatsächlich zu kompilieren. Früher hatte ich eine Menge Probleme mit ninject, die mich dazu veranlassten, die Datei web.config zu bearbeiten.
Wenn jemand eine ZIP meiner gesamten Lösung möchte, würde ich mich freuen, es irgendwo hochladen (es ist etwa 24 MB).
Jede Hilfe wird geschätzt !!
Danke, Tom
Edit:
Hier ist der entsprechende Abschnitt in der Datei web.config für die Ansicht:
<namespaces>
<add namespace="System.Web.Mvc" />
<add namespace="System.Web.Mvc.Ajax" />
<add namespace="System.Web.Mvc.Html" />
<add namespace="System.Web.Routing" />
<add namespace="SportsStore.WebUI" />
<add namespace="SportStore.WebUI.HtmlHelpers"/>
</namespaces>
Überprüfen Sie Ihre web.config und stellen Sie sicher, dass der vollständige Namespace vorhanden ist. Weitere Informationen finden Sie in dieser Antwort: http://stackoverflow.com/a/4450122/546000 –
Sie haben den SportsStore-Namespace im letzten Eintrag falsch geschrieben. Sie vermissen ein 's' vor dem Store – LukeP
Ich werde versuchen, zu laden, es muss später sein. Ich bin bei meinem staatlichen Job und firewall die meisten der regulären Upload-Websites. Könnte ich es vielleicht an einen von euch schicken? Ich werde die Verzeichnisse bin und obj löschen, um die Größe gering zu halten. – user3298634