2012-06-18 214 views
0

在asp.net mvc 3應用程序中,我有兩個具有相同javascript函數集的視圖。 Javascript是相同的,所以我想重新組織這段代碼並將所有javascript代碼提取到.js文件中,以便將它包含在兩個chtml文件中。將C#代碼插入(.js)javascript文件

問題是,其中一個JavaScript函數使用C#代碼來從模型中獲取一些數據。如何將C#代碼插入到JavaScript(.js)文件中,或者如何將所有代碼提取到單獨的chtml文件中並將其包含在前兩者中?

+0

http://odetocode.com/code/80.aspx檢查鏈接 – MMK

+0

我將這樣的值寫入'data-'標籤或隱藏值以在腳本文件中使用。 – asawyer

回答

4

你本不可以,或者至少你不應該。出於維護和性能方面的原因。

您應該改爲將JavaScript設計爲具有參數化方法,並從您的視圖初始化自定義值。

像jQuery一樣思考。許多插件都是可用的,標準化的,但它們在使用它們的頁面上以特定值初始化。

0

如果你的javascript包含不同的數據,那麼它是不相同的。

我會將相同的功能提取到.js文件中,然後在您的頁面中生成一段javascript數據,即.js可以使用的或者重構爲返回JSON的服務。

0

您可以使用局部視圖編寫<script>標記並在兩個頁面中調用該標記。如果您認爲更合適,您也可以使用HTML助手。

但是,我不會推薦。

一種選擇是找到一種方法把這種變化值設置到你的頁面(可能是由於HTML5 data-屬性),然後使用一個外部的.js文件的JavaScript代碼,這不是由C#操縱,而是從HTML本身獲取數據。

另一個(不太漂亮)選項是讓每個頁面在<script>標記中設置一系列JS變量,然後在外部.js文件中使用它們。