Thread View: alt.pl.comp.lang.csharp
3 messages
3 total messages
Started by KO
Sun, 23 Oct 2011 21:31
ViewBag i ViewData na przemian (MVC3)
Author: KO
Date: Sun, 23 Oct 2011 21:31
Date: Sun, 23 Oct 2011 21:31
10 lines
1011 bytes
1011 bytes
Witam. Grupa praktycznie martwa, ale może ktoś tu jeszcze zagląda i zna odpowiedź:) Dane wstawione do ViewData["Pole"] są dostępne Przez ViewBag.Pole Pytanie: czy można na tym polegać? Jest gdzieś zagwarantowane, że tak jest i będzie, czy to raczej jakiś efekt uboczny który może kiedyś zniknąć? dzięki
Re: ViewBag i ViewData na przemian (MVC3)
Author: Łukasz 'Maly' Ostrowski
Date: Mon, 24 Oct 2011 07:19
Date: Mon, 24 Oct 2011 07:19
37 lines
2024 bytes
2024 bytes
On Sun, 23 Oct 2011 21:31:19 +0000, KO wrote:
> Dane wstawione do ViewData["Pole"] są dostępne Przez ViewBag.Pole
>
> Pytanie: czy można na tym polegać? Jest gdzieś zagwarantowane, że tak jest
> i będzie, czy to raczej jakiś efekt uboczny który może kiedyś zniknąć?
Można na tym polegać, ViewBag to Dynamic proxy do ViewData. Reflector
potwierdza ;-).
internal sealed class DynamicViewDataDictionary : DynamicObject
{
public override bool TryGetMember(GetMemberBinder binder,
out object result)
{
result = this.ViewData[binder.Name];
return true;
}
public override bool TrySetMember(SetMemberBinder binder, object value)
{
this.ViewData[binder.Name] = value;
return true;
}
<...>
}
Ale czy można polegać że w MVC 8 będzie tak samo, nie mogę się doszukać,
ale raczej nie spodziewałbym się zmian w tej materii.
Istotniejsze pytanie: po co w ogóle mieszać ViewData i ViewBag? Czy
mocno typowany Model nie jest wystarczający do 99% tasków? Z
doświadczenia zaobserwowałem że gołe ViewData/ViewBag służą z
reguły do hackowania ;-).
--
Pozdrawiam,
Łukasz 'Maly' Ostrowski. http://l3v.eu/
Re: ViewBag i ViewData na przemian (MVC3)
Author: KO
Date: Mon, 24 Oct 2011 17:48
Date: Mon, 24 Oct 2011 17:48
14 lines
1447 bytes
1447 bytes
On Mon, 24 Oct 2011 09:19:05 +0200, Łukasz 'Maly' Ostrowski wrote: > Istotniejsze pytanie: po co w ogóle mieszać ViewData i ViewBag? Czy > mocno typowany Model nie jest wystarczający do 99% tasków? Z > doświadczenia zaobserwowałem że gołe ViewData/ViewBag służą z > reguły do hackowania ;-) W sumie racja, przemyślany model powinien wystarczyć, ale czasami jak trzeba coś szybko przemycić do widoku to ViewStuff się przydaje. Akurat tylko V mam w C#(razor) a MiC mam w F# gdzie nie ma dynamic więc wsadzam do ViewData, chciałem się upewnić, że odbieranie tego przez ViewBag jest bezpieczne. dzięki, pozdro.
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads