Razor 文字列をエスケープしたいとは思わない:
@Url.Content("~/Content/images/delete_x.png")
Razor 構文が最初に解析されることに注意してください。これにより、何が起こっているのかが明確になります。
@{ var url = Url.Content("~/Content/images/delete_x.png"); }
var row = $("<tr><td><input type='hidden' name='LocationArray' value='"
+ CellValue + "'>" + CellText +
"</td><td class='delete' >" +
"<img src='@url' /></td></tr>");
脚注: このレベルの動的 HTML 構築に到達したら、クライアント側のテンプレート ライブラリ (Underscore、Mustache、$.tmpl など) を検討する時期かもしれません。アンダースコアの使用:
<script type='text/template' id='the-template'>
<tr>
<td>
<input type='hidden' name='LocationArray' value='<%= val %>' />
<%= text %>
</td>
<td class='delete' >
<img src='@Url.Content("~/Content/images/delete_x.png");' />
</td>
</tr>
</script>
<script>
var tmpl = _.template($("#the-template").html());
var data = { val: "hello", text: "world" };
var html = tmpl(data);
$("#target").html(html);
</script>