2

シンプルな HTML テーブルを生成する Html ヘルパーがあります。行の編集、並べ替えなど、このテーブルで動作するスクリプトを同じヘルパーで生成したいと考えています。

私はすでにこれらのスクリプトを持っています。私の質問は次のとおりです。

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
4

1 に答える 1

3

これは特に悪いようには聞こえませんが、唯一の欠点は 1. 縮小されない 2. 複数のテーブルがある場合、スクリプトが重複している 3. キャッシュされないため、ページごとに送信されます荷重

編集:新しい提案

リストを作成してビューバッグに追加します。HTML ヘルパーで、必要なスクリプトをこのリストに追加します。レイアウトの最後で、linq を使用して一意のスクリプト名を選択し、レンダリングします。

古い提案 - 必要に応じて読んでください。それは大丈夫な慣行を含んでいます。

テーブルがほとんどのページで使用されている場合は、それをスクリプト フォルダーに入れて、レイアウトに含めます。

いくつかのページでのみ使用される場合は、ヘルパーに保持する必要があります。Scripts > Elements > Table.js のように、いつでもスクリプトをスクリプト フォルダーに移動できます。これは一理あるかもしれません。次に、関数を使用してヘルパーに含めます。jqueryを使用している場合のように、テキストを書くことができます

<script> $(function(){ $.getScript("Scripts/Element/Table.js") }); </script>
于 2013-06-28T23:33:28.197 に答える