valor obtener c# javascript asp.net asp.net-mvc-3 viewbag

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.