Ist ViewBag-und ViewData-auch Teil der staatlichen Verwaltung in asp.net mvc?
Kann jemand bitte sagen Sie mir, ob ViewData und ViewBag sind auch Teil der asp.net mvc state management oder nicht?
Dank
InformationsquelleAutor Jitender Kumar | 2013-06-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
ViewBag
undViewData
nicht speichern Zustand, aber Sie kann es passieren, Ansichten gerendert und gespeichert.Was sind
ViewBag
undViewData
?ViewBag
undViewData
sind keine staatlichen Persistenz Mechanismen, aber ich glaube, Sie sind Teil der Staatlichen Verwaltung: Sie sind Mechanismen für die übergabe von Daten an eine Seite, die beibehalten werden kann als Zustand in den generierten html-Code. Auf diese Weise sind Sie Teil des Lebenszyklus des Staates, als Sie erlauben, Sie zu speichern, geben Sie in Ihrer client-Seite in html mit Hilfe von Helfern wie@Html.HiddenFor
oder@Html.ActionLink
.In meiner Antwort auf "die Speicherung einen js-Wert von 1 ActionResult zu verwenden, die in einem anderen ActionResult" ich darüber sprechen, wie
ViewBag
undViewData
verwendet werden kann zum speichern des Status in der client-html -, und was die verschiedenen Optionen für die state-Speicher sind.Als für das, was
ViewBag
ist, es ist eigentlich eindynamic
Zugriff aufViewData
, soViewBag.MyItem = "foo";
undvar valueEqualsFoo = ViewData["MyItem"];
wird gesetzt und wieder den gleichen string und können gegeneinander ausgetauscht werden.Was sind Sie ähnlich?
ViewBag
,ViewData
sind die meisten eng miteinander verbunden, um ein View-Modell-in einer Aktion, wo das Modell wird an einen Blick in die Aktion mitreturn View(viewModel);
: alle drei Techniken pass dem Staat, in dem Speicher in die html, wo es an den client gesendet wird, zu einer zwischengeschalteten caches und "beibehalten" entfernt von Ihrem server.In ähnlicher Weise, wenn ein query-string in einer url an einen server in eine http-Anforderung es ist eine Methode der vorbei Staat, der aktuellen Zustand speichern wird die
<a href="urlwithquerystring">...</a>
- Anker in html. Restful-URLs, und Einrichtungen für POST-ajax-Anforderungen sind die gleichen in Ihrer definition und Ihrem Verhalten.ViewBag/Data
pass, den Staat von der Aktion auf die html, die an den client weitergegeben und gespeichert werden, die Abfrage-string oder restful-url dann an den Staat zurück an den server für die Verwendung in dem nächsten Action-Aufruf.Wann sollte ich Sie nutzen?
Ist es schwer zu überprüfen, für dynamische Eigenschaften mit einem Rechtschreibfehler in Ihrem Razor-code; es ist leicht zu überprüfen, wenn es eine Eigenschaft gibt, die auf eine stark typisierte view-Modell. Daher glaube ich, sollten Sie nutzen Sie sehr selten. Meiner Meinung nach ist es vorzuziehen, erstellen von stark typisierten view-Modelle eher als
ViewBag
oderViewData
. Sie könnte gut für einen quick-and-dirty-Lösung, aber diese Dinge neigen dazu, zu erstellen Technische Schulden.ViewBag
ist möglicherweise ok für die Einstellung der Titel der Seite.Stark typisierten View Modelle:
Was sind meine Optionen für die state-Speicher?
Ich sagte, es hier, und ich werde es wieder sagen: früher gab Es zumindest Neun Optionen für die Verwaltung von Persistenten User State in ASP.NET, und viele von denen, die noch gelten in MVC. Sie alle haben verschiedene Verwendungen, je nachdem, wie der Zustand sollte verwendet werden. Im Allgemeinen server-Seite code, der als staatenlos, wie möglich, ist einfacher zu testen und zu Debuggen.
/Product/1
)ViewState
Session
EigenschaftCache
Eigenschaft)HttpContext
Eigenschaft alsHttpContext.Application
)WebConfigurationManager.AppSettings
Wörterbuch.Fußnoten:
† Wir jetzt haben einfach zu verwenden tools für responsive design die wir nutzen können wenn geeignet, aber es ist nicht immer geeignet: einige Ansichten müssen ganz anders Aussehen auf mobilen aber immer noch die gleichen viewmodel als der große Bildschirm Website.
InformationsquelleAutor Andy Brown
Beide Nicht !
State Management 2 Art
1: Client-Seite 2:Server-seitige
Client-Seite
-Query-Strings
Server-Seite
Wenn Sie wollen, um den Unterschied für diese suchen, schauen Sie bitte hier
Was ist der Unterschied zwischen ViewData und ViewBag?
und
Was ist ViewData, ViewBag
InformationsquelleAutor
In der Ansicht Daten-Ansicht-Tasche und Temp Daten, die wir tragen werden Daten vom Controller zur view-es ist also ein Teil der staatlichen Verwaltung im MVC.
State-management bedeutet, bewahrt den Zustand des controllers und die Webseite und die Objekte und Daten.
Diese kann getan werden, indem Möglichkeiten:
Client-Side State Management
Server-Side State Management.
In Kürze wissen https://www.codeproject.com/Articles/492397/State-Management-in-ASP-NET-Introduction.
InformationsquelleAutor pavan kasyap