私が試みた方法。
ブラウザで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>
PDATE:より適切なアプローチは、たとえば、ベースurl、facebook APIキー、Amazon 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を使用できます。
これを行うことにより、ソリューションを実現できます。
JavaScript:
var myValue = document.getElementById("@(ViewBag.CC)").value;
または、jQuery
を使用する場合:
jQuery
var myValue = $('#' + '@(ViewBag.CC)').val();
ViewBag
はサーバー側コードです。Javascript
はクライアント側コードです。
実際に接続することはできません。
次のようなことができます:
var x = $('#' + '@(ViewBag.CC)').val();
ただし、サーバーで解析されるため、実際には接続しませんでした。