3

我想有人遇到过下划线问题,所以我在这里找到了一些东西: Using Underscore.js with ASP.NET

解决方案是添加:

_.templateSettings = {interpolate : /\{\{(.+?)\}\}/g,      // print value: {{ value_name }}
                  evaluate    : /\{%([\s\S]+?)%\}/g,   // excute code: {% code_to_execute %}
                  escape      : /\{%-([\s\S]+?)%\}/g}; // excape HTML: {%- <script> %} prints &lt;script&gt;

下划线.js

所以我打开 underscore.js 并找到 _.templateSettings 部分,并用上面的解决方案替换,仍然没有运气。

有没有我想念的地方?这是我的代码:

<table class="table">
    <thead>
        <tr>
            <th></th>
            <th>#</th>
            <th>Keyword</th>
            <th>Corresponding Field</th>
            <th><a href="#" class="btn pull-right" id="one-to-one-add">Add</a></th>
        </tr>
    </thead>
    <tbody>
        <% _.each(keywords, function(keyword, key, list) { %>
        <tr>
            <td><label class="checkbox"><input type="checkbox" /></label></td>
            <td><%= key + 1 %></td>
            <td><input name="keywords[<%= key %>][keyword]" class="input-medium keyword-name" type="text" value="<%= keyword.name %>" /></td>
            <td>
                <select class="keyword-field">
                    <% _.each(fields, function(field, key, list) { %>
                    <option name="keywords[<%= key %>][field]" value="<%= field.id %>" <% if (keyword.fieldId == field.id) { %>selected<% } %>><%= field.name %></option>
                    <% }); %>
                </select>
            </td>
            <td class="align-right"><a href="#defining-keyword" data-toggle="modal">Define</a></td>
        </tr>
        <% }); %>
    </tbody>
</table>
4

1 回答 1

8

所以这就是我最终要做的:

<script type="text/javascript">
    $(document).ready(function ()
    {            
        _.templateSettings = {
            interpolate: /\<\@\=(.+?)\@\>/g,
            evaluate: /\<\@(.+?)\@\>/g
        };
    });
</script>

上面的代码里面的html头

并更改为 <@ ... @> 所以这就是我的代码结束:

<tbody>
    <@ _.each(keywords, function(keyword, key, list) { @>
    <tr>
        <td><label class="checkbox"><input type="checkbox" /></label></td>
        <td><@= key + 1 @></td>
        <td><input name="keywords[<@= key @>][keyword]" class="input-medium keyword-name" type="text" value="<@= keyword.name @>" /></td>
        <td>
            <select class="keyword-field">
                <@ _.each(fields, function(field, key, list) { @>
                <option name="keywords[<@= key @>][field]" value="<@= field.id @>" <@ if (keyword.fieldId == field.id) { @>selected<@ } @>><@= field.name @></option>
                <@ }); @>
            </select>
        </td>
        <td class="align-right"><a href="#defining-keyword" data-toggle="modal">Define</a></td>
    </tr>
    <@ }); @>
</tbody>
于 2012-10-11T07:42:02.980 回答