我正在尝试用MVC中的一些静态HTML包装内容,我没有任何运气来解决这个问题。必须有一个我没有看到的明显解决方案,因为这似乎是一个理想的功能。
在我的视图中,我需要用以下内容包装HTML内容:
<uc1:mc>
<p>Hello World!</p>
</uc1:mc>
这将呈现如下:
<div class="ribbon">
<div class="left"></div>
<p>Hello World!</p>
<div class="right"></div>
</div>
使用以下模板:
<div class="ribbon">
<div class="left"></div>
<%= IncomingMarkupGoesHere %>
<div class="right"></div>
</div>
这个想法是重用包含其他html的html。
我目前正在使用两个用户控件来实现这一目标,一个用于之前的所有内容,另一个用于之后的所有内容。像这样:
<% Html.RenderPartial("RightRibbon_Start"); %>
Target Content...
<% Html.RenderPartial("RightRibbon_End"); %>
但这似乎很草率,不利于在目标内容之前和之后传递适用于HTML的参数。
将要包装的内容设置为多行标记而不仅仅是字符串非常重要,否则我只会将内容作为模型传递。