2017-10-15 66 views
-2

我得到的是關於JavaScript變量的關鍵字值,但我想動態地將該值替換爲谷歌趨勢腳本(它寫在谷歌趨勢腳本下的「關鍵字:」部分)。所以我雖然可以將該值轉換爲我的MVC rezor視圖變量,然後用「@googleTrendkeyword」變量替換google趨勢。這種方法不起作用,因爲我無法爲JavaScript變量分配MVC rezor視圖變量。最好的解決方案是什麼?是否有可能沒有MVC rezor變量轉換?最佳做法是什麼?JavaScript變量mvc rezor變量問題

的Javascript:

<script> 
var keyword = "found some value"; 
</script> 

MVC視圖:

@{ string googleTrendkeyword = 'assign the value from js variable'; } 

谷歌趨勢的腳本:

<script type="text/javascript" src="https://ssl.gstatic.com/trends_nrtr/1173_RC01/embed_loader.js"></script> 
<script type="text/javascript"> 
    trends.embed.renderExploreWidget("TIMESERIES", { "comparisonItem": [{ "keyword": "need to set keyword value here", "geo": "", "time": "today 12-m" }], "category": 0, "property": "" }, { "exploreQuery": "q=arts&date=today 12-m", "guestPath": "https://trends.google.co.in:443/trends/embed/" }); 
</script> 
+1

你需要重新考慮你實際上試圖完成的任務。在頁面被髮送到瀏覽器之前,服務器端代碼在服務器上運行*。有很多方法可以將JavaScript值發送到服務器(AJAX),但不能像這樣直接爲未來分配變量。 – David

+0

好的。那麼我怎麼才能實現我的目標呢?我必須使谷歌趨勢關鍵字動態 –

+0

你最終做什麼'googleTrendkeyword'變量?爲什麼它需要服務器端? – David

回答

4

可以 「通」 剃刀變量JavaScript變量而不是其他方式。 這將有可能通過將變量@ HTML.Hidden場像

@Html.Hidden("variableName", VariableValue); 

爲JavaScript:

<script> 
    console.log("Variable value: ", variableName.value);// OR WHATEVER FUNCTION YOU WANT TO PERFORM 
</script>