Wie zu verwenden WebGrid in einer cshtml-Ansicht?
Ich bin in der Lage zu verwenden WebGrid in jedem controller wie:
var grid = new WebGrid(emailsFetched, columnNames);
Musste ich fügen Sie einen Verweis in meine ASP.NET MVC-Projekt zu System.Web.Helpers
für diese.
Aber wenn ich versuche, mit dieser web-Netz in Ansicht direkt (um zu vermeiden, Instanziierung und andere Einstellungen im controller) heißt es: The type or namespace 'WebGrid' cannot be found
. Ok, ich habe versucht, fügen Sie eine Referenz auch hier:
@using System.Web.Helpers
aber das wirft ein weiteres Problem:
There is no build provider registered for the extension '.cshtml'. You can register one in the <compilation><buildProviders> section in the machine.config or web.config. Make sure is has a BuildProviderAppliesToAttribute attribute which includes the value 'Web' or 'All'.
Dies ist ziemlich seltsam... ich habe genug gesehen Beispiel auf die net, die sind mit WebGrid und nicht zu erklären, nichts in der cshtml-Ansicht...
Können Sie mir bitte sagen, wie man dieses Problem lösen? Oder warum treffe ich diese sehr hässlich Problem?
- Könnten Sie bitte versuchen, den Ansatz in meiner Antwort unten und lassen Sie mich wissen, wenn es funktioniert? Vielen Dank im Voraus...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Schließlich habe ich in der Lage zu bemerken, dass dieses:
<assemblies>
<add assembly="System.Web.Helpers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
Hinzugefügt werden, in der web-config, unter
system.web
Abschnitt, innerhalbcompilation
tags, so wird es Aussehen:Versuchen, Folgen Sie den Schritten unten, die getestet worden waren, bevor Sie in eine
ASP.NET MVC4
Projekt, ohne jedes problem.1) Öffnen
NuGet Package Manager
imVisual Studio
und Suche "microsoft-web-Helfer" und installieren.2) Nach der Installation öffnen Sie
web.config
Ihrer Lösung und ändernconnectionStringName
parameter fürDefaultMembershipProvider
,DefaultRoleProvider
veDefaultSessionProvider
(wenn Sie dies nicht tun, könnten Sie auf 'DefaultConnection' wurde nicht gefunden in den Anwendungen, die Konfiguration oder die Verbindung Zeichenfolge ist leer." - Fehler.3) Ihr Projekt neu erstellen und dann verwenden Sie ein smilar definition wie unten in Ihre razor-Ansicht.
Hinweis: Ändern "Title", "Controller" und "Aktion" Namen in
Html.ActionLinks
nach Ihrem Projekt.Anzeigen:
Hier sind die
css
Klassen unter verwendet inRazor
. Wenn Sie möchten Ihrecss
Definitionen ändern Sie einfach die style-Eigenschaften zu, die von Euch (Einige Eigenschaften sind optional als diejenigen, die in derRazor View
).Hoffe, das hilft...
Lief in dieses Problem. Kann nicht wirklich nehmen Kredit, aber ich frühere version deinstalliert und neu installiert, die neueste version von Microsoft ASP.NET MVC4 von Nuget und die Dinge arbeiten für mich. Hoffe, dies hilft jemand anderes. Habe versucht, alle Lösungen, aber das war das einzige, was funktionierte. http://forums.asp.net/t/1823940.aspx?MVC4+WebGrid+problem+in+Sicht+Rasierer+