我正在使用MVC3编写一个简单的“blog”应用程序,作为学习练习。在.NET中使用MVC3实现“Read More”
要实现 - 基本的 - “更多”的功能,我添加了一个自定义的按钮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;
}
}
我避免创建模型内的链接完成POST,因为它似乎没有被什么东西模型应该做的。
但是,这样做那样,我要检查是否有后视图中的更多内容:
<div class="content">
@Html.Raw(item.content_read_more())
@if (item.hasReadMoreLink())
{
@Html.ActionLink("Leer más", "Details", new { id = item.id })
}
</div>
它引入了逻辑到视图中。
我应该在控制器中执行吗?有一个更好的方法吗?我在想这个方式太难了吗?
谢谢!
.Net公共成员名称应该是UpperCamelCase。 – SLaks
@SLaks,这是一个惯例,也是一个好主意,但说它“应该”就像隐含着其他任何错误;我不认为这是准确的 –
@JeremyHolovacs,你的意思是称其余的内容? – jlasarte