1

現時点では、文字エスケープを使用して静的 html とモデル データを混在させる必要がありますが、もっと良い方法が必要です。

私は現在 .aspx ビューを使用していますが、これは私のビューのいくつかがどのように見えるかです。

$('ul#spaceImage', this.el).append("<li id=\"" + item.get("HoverId") + "\" class=\"hover\" style=\"left:" + x + "px;top:" + y + "px\"><span class=\"newlyAdded\"></span>" + item.get("MaterialGroupName") + "<a></a></li>");

文字をエスケープせずにこれを表示する方法はありますか?

4

1 に答える 1

2

アンダースコア テンプレートは asp.net 構文を共有しているため、アンダースコア テンプレートの使用に問題があると思いますか? その場合は、Handlebarsを使用して、テンプレート コードを asp マークアップのスクリプト ブロックに移動できます。

マークアップ:

<script type="text/html" id="list-item-template">
  <li id="{{HoverId}}" class="{{hover}}" style="left:<%=x%>px;top:<%=y%>px">
    <span class="newlyAdded"></span>
    <a><{{MaterialGroupName}}></a>
  </li>
</script>

バックボーン ビュー:

render: function() {
  var template = Handlebars.compile($("#list-item-template").html());
  $(this.el).html(template({this.model.toJSON()}));
  return this;
}
于 2013-04-09T15:32:40.747 に答える