我尝试的方法。
纵观通过浏览器的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();
如果您使用的剃刀引擎模板然后执行以下操作
在你看来写:
<script> var myJsVariable = '@ViewBag.MyVariable' </script>
更新:一个更合适的方法是定义在主布局例如,基本URL,脸谱API密钥,亚马逊S3基本URL等一组配置...```
<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>
尝试: var cc = @Html.Raw(Json.Encode(ViewBag.CC)
<script type="text/javascript">
$(document).ready(function() {
showWarning('@ViewBag.Message');
});
</script>
您可以在JavaScript中使用ViewBag.PropertyName这样。
ViewBag
是服务器端的代码。
Javascript
是客户端代码。
你真的无法将它们连接起来。
你可以这样做:
var x = $('#' + '@(ViewBag.CC)').val();
但是,它会被解析的服务器上,所以你并没有真正将它们连接起来。
你可以实现的解决方案,这样做:
JavaScript的:
var myValue = document.getElementById("@(ViewBag.CC)").value;
或者,如果你想使用jQuery
,则:
jQuery的
var myValue = $('#' + '@(ViewBag.CC)').val();