Подтвердить что ты не робот

Как получить доступ к ViewBag от JS

Мои попытки.

Глядя на JS через браузер, @ViewBag.CC просто пуст... (отсутствует)

        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();
4b9b3361

Ответ 1

если вы используете шаблон двигателя бритвы, выполните следующие действия

в вашем представлении пишите:

<script> var myJsVariable = '@ViewBag.MyVariable' </script>

UPDATE: Более подходящий подход состоит в том, чтобы определить набор настроек в макете, например, базовый url, ключ API facebook, базовый URL-адрес Amazon S3 и т.д.... `` `

<head>
 <script>
   var AppConfig = @Html.Raw(Json.Encode(new {
    baseUrl: Url.Content("~"),
    fbApi: "get it from db",
    awsUrl: "get it from db"
   }));
 </script>
</head>

И вы можете использовать его в своем JavaScript-коде, как показано ниже:

<script>
  myProduct.fullUrl = AppConfig.awsUrl + myProduct.path;
  alert(myProduct.fullUrl);
</script>

Ответ 2

попробуйте: var cc = @Html.Raw(Json.Encode(ViewBag.CC)

Ответ 3

<script type="text/javascript">
      $(document).ready(function() {
                showWarning('@ViewBag.Message');
      });

</script>

Вы можете использовать ViewBag.PropertyName в javascript, как это.

Ответ 4

Вы можете добиться решения, выполнив следующее:

JavaScript:

var myValue = document.getElementById("@(ViewBag.CC)").value;

или если вы хотите использовать jQuery, то:

JQuery

var myValue = $('#' + '@(ViewBag.CC)').val();

Ответ 5

ViewBag - код сервера.
Javascript - код клиента.

Вы не можете действительно соединить их.

Вы можете сделать что-то вроде этого:

var x = $('#' + '@(ViewBag.CC)').val();

Но он будет разобран на сервере, поэтому вы действительно не подключили их.