在mvc 3中的另一个视图中动态创建视图

时间:2011-06-23 05:27:12

标签: html asp.net-mvc-3

我已经下载了一个html文件作为流对象,并且我必须在html文件中的特定标签中渲染部分视图。所有html文件和部分视图将在预览标记部分下的视图中显示为预览。 我能够在html文件中找到一个div标签,并设置用户控件div的内部html。我使用的代码是

 header.InnerHtml = " <%:Html.RenderPartial(" + "\"/ViewUserControl1" + "\"); %> "; 

其中“header”是div的id。并将整个字符串传递给(html以及usercontrol)以使用

进行查看
<div id="Preview" >
    <%=ViewData["Preview"] %>
</div>

但div预览剂量呈现用户控制。仅显示html文件预览。任何想法都会受到赞赏。

提前致谢

1 个答案:

答案 0 :(得分:0)

除非你做了大量的额外工作,否则不会将字符串解析为视图代码 - 这将是一个巨大的安全漏洞。即使您设置了字符串的解析,其余的html也不会是有效的视图代码。

最好的选择是在html中使用一个标记 - “{VIEW}”或类似的东西 - 并使用模型中的模板html和视图名称属性在视图中替换字符串。

另请注意Html.Partial和Html.RenderPartial之间的区别 - 一个返回一个字符串,另一个写入输出流并且不返回任何内容。