20
Moje metody prób.Jak uzyskać dostęp do ViewBag z JS
Patrząc na JS przez przeglądarkę The @ViewBag.CC
to tylko puste ... (brakujące)
var c = "#" + "@ViewBag.CC";
var d = $("#" + "@ViewBag.CC").value;
var e = $("#" + "@ViewBag.CC").val();
var c = "@ViewBag.CC";
var d = $("@ViewBag.CC").value;
var e = $("@ViewBag.CC").val();
Dlaczego '@' przed '
ViewBag
jest stronie serwera kod.Javascript
jest po stronie klienta kod.Nie można uzyskać naprawdę połączyć je.
można zrobić coś takiego:
ale będzie analizowany na serwerze, więc nie bardzo je połączyć.
Źródło
2012-04-04 09:04:26 gdoron
myślę, że masz dodatkowy wspornik? Ive próbował podobny do tego, ale z '' '. – Doomsknight
@Doomsknight.' '' Lub '" 'to to samo. Cóż, czy to działa? – gdoron
W czasie wykonywania widzę 'var c = $ ('#' + '2'). Val();' – Doomsknight
Możesz używać ViewBag.PropertyName w javascript w ten sposób.
Źródło
2012-04-04 09:06:14 adt
Nie jestem pewien czy wht showWarning ma. (nie zrobił nic dla mnie), ale reszta nie zawiera poprawnej wartości. Więc widziałem 'showWarning ('2');' w moim kodzie. – Doomsknight
Użyłem tego kodu, wywołuje on tylko alert i działa poprawnie. możesz zmienić alert ("@ ViewBag.Message"); to będzie działać. – adt
try:
var cc = @Html.Raw(Json.Encode(ViewBag.CC)
Źródło
2012-04-04 09:08:55 ZeNo
Dzięki! Próbowałem już tego. – Doomsknight
@Doomsknight. I mam nadzieję, że z niego nie skorzystasz. – gdoron
W takim przypadku sprawdź wartość strony serwera ViewBag.CC, ale możesz nie ustawić jej w niektórych przypadkach. – ZeNo
można osiągnąć rozwiązanie, wykonując to:
JavaScript:
lub jeśli chcesz użyć
jQuery
, a następnie:jQuery
Źródło
2017-01-10 12:10:55
Sądzę, że alternatywa javascript może pomóc innym +1. Również myślę, że możesz po prostu napisać '' # @ (ViewBag.CC) '' – Doomsknight
Tak, możesz mieć rację @ Doomsknight, ponieważ świat składa się z wielu rozwiązań :-) –