转义Asp.Net模板中的内联代码块

时间:2011-01-11 06:13:40

标签: asp.net templates escaping inline-code

我有一个页面,我希望呈现以下html(一个小的JS模板) -

<script type="text/html" id="lightbox-template">
 <div id="lightbox-background"></div>
 <div id="lightbox"><%= content %><div class="bottom"></div></div>
</script>

但是,Asp.NET预处理器正在接收“&lt;%=”标记并尝试解释它。我希望转义此标记以允许它被渲染,最好是从模板而不是后面的代码。这可能吗?

我已经设法通过Literal控件执行此操作并在后面的代码中设置它的文本。

2 个答案:

答案 0 :(得分:1)

我理想的是希望将其保留在aspx页面中。这是我能找到的最佳解决方案(from here),它会创建分割结束&gt;分成一个单独的字符串

<script type="text/html" id="lightbox-template">
 <div id="lightbox-background"></div>
 <div id="lightbox"><%= "<%= content %" + ">" %=><div class="bottom"></div></div>  
</script>

重要位:&lt;%=“&lt;%= content%”+“&gt;” (%)=&GT;

答案 1 :(得分:-1)

这进入了aspx

<div> <%= GetContentString() %>  </div>

这进入了aspx.cs

 protected String GetContentString()
    {
        return "this is a content";
    }