c# - obtener - ¿Cómo accedo a ViewBag desde JS?
obtener valor de viewbag en javascript (5)
Mis intentos de métodos.
Mirando el JS a través del navegador, el @ViewBag.CC
está en blanco ... (falta)
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();
Puedes lograr la solución haciendo esto:
JavaScript:
var myValue = document.getElementById("@(ViewBag.CC)").value;
o si quieres usar jQuery
, entonces:
jQuery
var myValue = $(''#'' + ''@(ViewBag.CC)'').val();
Si está utilizando una plantilla de maquinilla de afeitar, haga lo siguiente
en su opinión escriba:
<script> var myJsVariable = ''@ViewBag.MyVariable'' </script>
ACTUALIZACIÓN: un enfoque más apropiado es definir un conjunto de configuración en el diseño maestro, por ejemplo, URL base, clave API de Facebook, URL base de Amazon S3, etc ... `` `
<head>
<script>
var AppConfig = @Html.Raw(Json.Encode(new {
baseUrl: Url.Content("~"),
fbApi: "get it from db",
awsUrl: "get it from db"
}));
</script>
</head>
Y puedes usarlo en tu código JavaScript de la siguiente manera:
<script>
myProduct.fullUrl = AppConfig.awsUrl + myProduct.path;
alert(myProduct.fullUrl);
</script>
prueba: var cc = @Html.Raw(Json.Encode(ViewBag.CC)
ViewBag
es el código del lado del servidor .
Javascript
es el código del lado del cliente .
Realmente no puedes conectarlos.
Puedes hacer algo como esto:
var x = $(''#'' + ''@(ViewBag.CC)'').val();
Pero se analizará en el servidor, por lo que realmente no los conectaste.
<script type="text/javascript">
$(document).ready(function() {
showWarning(''@ViewBag.Message'');
});
</script>
Puede usar ViewBag.PropertyName en javascript como este.