2

我有一个生成简单 HTML 表的 Html Helper。我想在同一个助手中生成一些在这个表上工作的脚本,比如编辑行、重新排序等。

我已经有了这些脚本,我的问题是:

如何通过我的 HTML Helper 生成这些脚本并将其放在页面末尾?

我目前在 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. 它不会被缓存,所以每次页面都会发送负载

编辑:新建议

创建一个列表并将其添加到 viewbag。在您的 html 帮助程序中,将您需要的脚本添加到此列表中。在布局结束时,使用 linq 选择唯一的脚本名称,并呈现它们。

老建议 - 如果你愿意,请阅读。它包含好的做法。

如果该表格在大多数页面上使用,只需将其放入您的脚本文件夹并将其包含在您的布局中。

如果它只在几页上使用,你会想把它保存在帮助程序中。您始终可以将脚本移动到您的脚本文件夹中,例如 Scripts > Elements > Table.js 。这可能有点道理。然后通过函数将它包含在您的助手中。就像您使用 jquery 一样,您可以编写文本

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