我正在使用 MVC3 在 .NET 中编写一个简单的“博客”应用程序,作为学习练习。
为了实现 - 基本的 - “阅读更多”功能,我向 tiny_mce 添加了一个自定义按钮,当按下该按钮时,它会插入
<!--#readmore#-->
进入帖子内容。
这个想法是获取到该点的内容以显示在主页上,然后如果有更多要阅读的内容,则添加一个链接,就像每个博客引擎所做的那样。
这样做非常简单,我的问题是我应该在哪里做?现在,我在 Post 模型中具有以下功能:
public String content_read_more()
{
if (this.content.Contains("<!--#readmore#-->"))
{
int position = this.content.IndexOf("<!--#readmore#-->");
this.has_read_more = true;
return this.content.Substring(0, position);
}
else
{
this.has_read_more = false;
return this.content;
}
}
我避免在模型中创建指向完整帖子的链接,因为这似乎不是模型应该做的事情。
但是,这样做,我必须检查帖子是否在视图中有更多内容:
<div class="content">
@Html.Raw(item.content_read_more())
@if (item.hasReadMoreLink())
{
@Html.ActionLink("Leer más", "Details", new { id = item.id })
}
</div>
它将逻辑引入视图。
我应该在控制器中执行此操作吗?有一个更好的方法吗?我这样想是不是太难了?
谢谢!