2013-06-28 64 views
2

我有一個Html Helper來生成一個簡單的HTML表格。我要生成,在相同的助手,有些腳本在此表上工作,像編輯行,重新排序等使用Html Helper在頁面末尾插入腳本

我已經有了這些腳本,我的問題是:

我怎樣才能產生這些腳本通過我的HTML助手,然後放在頁面的結尾?

我目前在html表格的末尾添加了腳本,就像單個字符串(表格和腳本的Html)並將其打印在頁面上,是否有更好的方法來執行此操作,解決這個問題?

爲了使問題更清楚,這是我的助手的簽名:

public static MvcHtmlString CustomTableRepository 
     (this HtmlHelper html, string idTable, Hashtable columns, string jsonRepo) 

其中:

idTable: Id of the tag table 
columns: The key/value of each th cell of the columns 
jsonRepo: jSon repository, where I will take the values of my table and draw it 

回答

3

這聽起來並不特別糟糕,唯一的缺點是 1.它贏得不會被縮小 2.如果你有多個表,你有重複的腳本 3.它不會被緩存,所以它會在每次頁面加載時發送

編輯:新建議

創建列表並添加到viewbag。在你的html助手中,將你需要的腳本添加到這個列表中。在佈局結束時,使用linq選擇唯一的腳本名稱並進行渲染。

舊的SUGGUESTION - 閱讀是否需要。它包含好的做法。

如果在大多數頁面上使用表格,只需將其放入腳本文件夾並將其包含在佈局中即可。

如果它只用在幾頁上,你會想保留在幫手中。您始終可以將腳本移動到腳本文件夾中,如腳本>元素> Table.js。這可能是有道理的。然後通過函數將它包含在你的幫助器中。就像你使用jquery一樣,你可以寫出文字

<script> $(function(){ $.getScript("Scripts/Element/Table.js") }); </script>