背景
在ASP.NET MVC中,HtmlHelper的扩展方法RenderPartial为我们使用UserControl带来了 极大的方便,当我们指定一个UserControl时,RenderPartial会在当前View文件夹下查找相应的 UserControl,如果没有找到则会到Shared文件夹下查找。然后在使用RenderPartial方法有一些性能方面 的考虑,值得我们去关注。
设想有这样一个场景,一篇文章有很多个评论,在页面中我们需要呈 现出一个评论列表,自然我们会定义一个评论的UserControl,如下代码所示:
Code 1:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Comment>" %>
<%@ Import Namespace="TerryLee.MvcPerformance01.Models" %>
<p>
ID: <%=Model.ID %> <br />
Author: <%=Model.Author %> <br />
Description: <%= Model.Description %>
</p>
<hr />
在页面中呈现评论列表,代码非常简单,仅仅是遍历所有的评论而已:
Code 2:
<div>
<%
foreach (var comment in Model.Comments)
{
Html.RenderPartial("CommentsItem", comment);
}
%>
</div>
运行后效果如下,可以看到 正确的输出了评论:
时间: 2024-10-02 21:02:26