5

好的,所以这有点随机,但是..

使用 MVC 3(带有 Razor 视图引擎)和使用 jQuery 模板的 Knockout.js 我遇到了一个小问题,我确信可以解决。

为了使用 jQuery-Tmpl 你需要提供一个模板

<script type="text/html">
...template elements go here...
</script>

现在的问题是 razor 视图引擎似乎没有在这些特定的脚本标签内生成 HTML。它可以很好地处理标准 html (script type="text/javascript"),但似乎对上述脚本标记没有任何作用。

有谁知道如何解决这个问题,即如何将 MVC 3 Razor 与 jQuery-Tmpl 一起使用?

4

2 回答 2

3

这篇博文中有一个很好的解决方案:http: //www.wiredprairie.us/blog/index.php/archives/1204

这将创建一个“模板”助手,它发出脚本开始/结束标签。

否则,我有一些将模板放入外部文件的想法,这将是避免此问题的另一种方法。它涉及将模板存储在 .html 文件中,并将它们注入到页面中的脚本标签中。当然有很多方法可以在客户端或服务器端完成,只是一些想法。

于 2011-04-06T12:16:15.623 回答
0

如果您想将内容保留在文档中,一种更通用的方法是使用 @Html.Raw 输出 html 而不会影响编辑时语法状态。

例如:

@Html.Raw("<script type='text/x-dot-template' id='awesome_template'>")
   <!-- insert some awesomeness here -->           
@Html.Raw("</script>")

我碰巧更喜欢上面建议的辅助方法,但它并不总是我能够实现的,所以这是一个有其自身好处的替代方法(即易于使用和简洁的清晰度)

于 2012-10-18T17:42:50.407 回答