2015-04-21 63 views
0

這可能很簡單,但我遇到了困難。我有一個觀點我在哪裏設置一個JavaScript變量,該視圖中顯示我用RenderPartial像這樣的局部視圖:MVC部分視圖中的Javascript變量

@{Html.RenderPartial("MyPartialView");} 

我需要訪問一個js變量集合在我看來,在我PartialView。這可能嗎?我知道還有其他幾種使用模型來傳遞數據的方法,但是對於我獨特的場景,如果我可以這樣做,將會非常有幫助,因爲我已經傳遞了一個模型,所以我無法這樣做。

回答

0

爲什麼不把你的模型傳遞給你的局部視圖?無論如何,你可以將你的屬性添加到窗口對象,並在你的局部視圖中使用它。

更新: 我的意思是在你的視圖中打開腳本標記,如下所示:

<script> 
     window.test = "test value"; 
</script> 

,並用它在你的部分觀點如下:

<script> 
     alert(window.test); 
</script> 

順便說一句,你可以通過附加信息給你部分視圖。 Html.Partial接受第三個參數viewData字典。

@Html.Partial("PartialViewName", yourModel, new ViewDataDictionary(){ {"AdditionalModel", value} }) 

,您可以通過它的名稱來訪問它在你的部分觀點:

ViewData["AdditionalModel"] 

遺憾的響應晚

+0

如前所述,我已經傳遞了一個模型,這個特殊的價值不在於該模型。你能發佈示例代碼嗎? – mgrenier

+0

我試圖在我的視圖中創建一個全局變量,就像'window.locid = 6',然後在我的局部視圖中使用window.locid,但它是未定義的。我做錯了什麼? – mgrenier