20
Meine versuchten Methoden.Wie kann ich auf ViewBag von JS zugreifen
an den JS via Browser sucht, die @ViewBag.CC
ist einfach leer ... (fehlende)
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();
Warum das '@' vor dem '
ViewBag
ist Server-Seite Code.Javascript
ist clientseitig code.Sie können nicht wirklich verbinden sie.
Sie können etwas tun:
Aber es wird auf dem Server erhalten analysiert, so dass man sie nicht wirklich an.
Quelle
2012-04-04 09:04:26 gdoron
Ich denke, Sie eine zusätzliche Klammer haben? Ich habe versucht, ähnlich, aber mit "". – Doomsknight
@Doomsknight. "" Oder "" ist das gleiche. Gut, hat es funktioniert? – gdoron
Zur Laufzeit sehe ich 'var c = $ ('#' + '2'). Val();' – Doomsknight
Sie können ViewBag.PropertyName in Javascript wie folgt verwenden.
Quelle
2012-04-04 09:06:14 adt
Ich bin nicht sicher wht showWarning tut. (tat nichts für mich), aber der Rest enthielt den richtigen Wert. Also habe ich 'showWarning ('2');' in meinem Code gesehen. – Doomsknight
Ich habe diesen Code verwendet, es ruft nur Alarm und es funktioniert gut. Sie können den Alarm ändern ('@ ViewBag.Message'); es wird klappen. – adt
Versuch:
var cc = @Html.Raw(Json.Encode(ViewBag.CC)
Quelle
2012-04-04 09:08:55 ZeNo
Danke das habe ich auch schon ausprobiert. – Doomsknight
@Doomsknight. Und ich hoffe, du wirst es nicht benutzen. – gdoron
Nun, überprüfen Sie in diesem Fall den Wert der ViewBag.CC-Server-Seite, Sie werden es in einigen Fällen möglicherweise nicht einstellen. – ZeNo
Sie die Lösung erreichen können, indem Sie diese:
JavaScript:
oder wenn Sie
jQuery
verwenden möchten, dann:jQuery
Quelle
2017-01-10 12:10:55
Ich denke, die Javascript-Alternative könnte anderen +1 helfen. Auch ich denke, du kannst einfach schreiben "# (ViewBag.CC)" – Doomsknight
Ja, du kannst Recht @Doomsknight, weil Welt bestehend aus mehreren Lösungen :-) –