MC, 2012
Ilustracja do artykułu: ASP.NET MVC - Jak używać obiektu ViewBag w kodzie JavaScript

ASP.NET MVC - Jak używać obiektu ViewBag w kodzie JavaScript

Nie samym modelem żyje widok w technologii ASP.NET MVC. Czasem do widoku musimy przekazać informacje, które nie mają swojego odzwierciedlenia w modelu, bo nie jego dotyczą a właśnie widoku samego. Oczywiście na takie potrzeby oddany mamy do użytu dynamiczny obiekt ViewBag i w tym wpisie chciałbym krótko pokazać jak skorzystać z niego w JavaScript.

Czy można zmieniać wartość właściwości ViewBag-a w JavaScript?

Obiekt ViewBag działa po stronie serwera, zatem tam są ustalane wartości jakie przechowuje i serwer również je odczytuje. Z tego powodu nie ma możliwości nadania nowej wartości dla elementów ViewBag-a, z pozycji kodu JavaScript, czyli de facto po stronie klienta. Oczywiście inaczej jest w przypadku odczytywania takich wartości.

Jak można użyć ViewBag-a w kodzie JavaScript?

Odczytać wartość przechowywaną przez ViewBag możemy w kodzie JavaScript, ponieważ tak naprawdę odbędzie się to po stronie serwera, w czasie przetwarzania kodu strony. Składnia takiego zabiegu jest bardzo prosta i zasadniczo nie różniąca się od innym postaci użycia obiektu ViewBag w widoku. Musimy skorzystać z serwer taga @:
if('@ViewBag.IsSuccess' == 'True')
{
alert("Udało się!");
}
Wartość logiczna trzymana w ViewBag.IsSuccess, ustalona po stronie serwera w code-behind, zostanie sprowadzona do stringa, dzięki czemu mamy możliwość wykorzystania jej w kodzie JavaScript. Wybrałem przykład z wartościami logicznymi, żeby przy okazji przypomnieć, że po rzutowaniu na stringa będą one rozpoczynały się od wielkiej litery, o czym należy pamiętać np. w przypadku porównywania ich!

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: