我正在创建一个包含大量文章的网站。我为网站创建了一个ArticleController。例如,要实现的第一篇文章是机器语言。所以我创建了一个名为machine_language.cshtml的视图。
public class ArticleController : Controller
{
// GET: Article
public ActionResult Index()
{
return View();
}
public ActionResult Machine_Language()
{
return View();
}
}
到目前为止,在控制器中我必须编写上面的代码。
所以我的问题是,我有500篇文章需要转换为开头。通常,我为每篇文章创建了一个ASPX页面,但现在我正在创建一个视图,因为我正在使用MVC。
这是否意味着我需要在ArticleController中拥有500多个ActionResults?每个视图/文章一个。
在我开始之前,我想确保我正确地做到这一点,因为它看起来很奇怪。如果我必须为每篇文章的名称创建一个动作结果。我最终会有一个巨大的ArticleController。一旦有几千篇文章,事情就会严重失控。
编辑: P.S.我喜欢用文章的页面。因为它们是静态内容。我试图远离数据库中的图像,视频等大量文章。
答案 0 :(得分:1)
您如何检索“文章数据/文字”?在这种特殊情况下,我有一个以ArticleText
作为属性的视图模型,然后您可能需要其他特定于文章的项目(标签?作者等)。
然后将此视图模型从控制器的操作传递到视图。该视图将负责向用户呈现此特定文章。
通过这种特殊设计,您可以在单一控制器中将单一操作传递给单一视图 强>
在我看来,这是最具扩展性和最佳的方法。
远离网络表单,认为单个“观看体验”等于后端的“单个实体”。这就是MVC的美感和力量(以及可扩展性)。
答案 1 :(得分:-1)
我建议您将现有的aspx页面渲染到使用 iframe 的视图。由于您已经有了静态页面。您只需将页面名称作为每篇文章的参数传递,即可实现您想要的效果。这是另一种方法。即使你想要你可以添加图像到那些aspx页面并在这里显示相同的