我需要在我的下划线模板中加入一些UI逻辑,但我很难将语法缩小。我在ASP.Net MVC .aspx视图中使用该模板,因此我必须更改模板设置以使用{%=%},{% - %}和{%%}。
我正在尝试使用模型属性“SortOrderCount”和“CurrSortOrder”在表格行中生成一个选择列表。
这是我到目前为止所遇到的但它出错并且我的for循环中的i被输出为文字“i”字符。语法太可怕了......大声笑
<td>{% if (CurrSortOrder) { %}
<select>
{% for (var i = 1; i <= {%= SortOrderCount %}; i++) { %}
<option value="{%= i %}" {%= i == CurrSortOrder ?
selected="selected" : "" %}>{%= i %}</option>
{% } %}
</select>
{% } %}
</td>
编辑 - 这是西蒙的代码现在的样子。
<option value="1" {%="(i" =="CurrSortOrder)" ?="" 'selected="selected" ''="" :="" ""="" %}="">1</option>
答案 0 :(得分:2)
请记住字符串仍然是{% %}
之间模板中的字符串。那里有一些未转义的字符串。
此外,您无法嵌套模板标签。需要进行一些清理:
<td>{% if (CurrSortOrder) { %}
<select>
{% for (var i = 1; i <= SortOrderCount; i++) { %}
<option value="{%= i %}" {%= (i == CurrSortOrder) ?
'selected="selected"'' : "" %}>{%= i %}</option>
{% } %}
</select>
{% } %}</td>