0

我正在尝试构建一个控制器,使用户能够向项目添加/删除子内容。

把它想象成一个文档,您可以在其中添加不同类型的部分,如标题、段落、图像等(它们都有自己的属性,因此它们在 SQL 中的单独表中)

我的问题是我应该把代码放在哪里来处理这个“文档控制器”中不同类型的小节?

它们都通过数据库关系附加到这个“文档”/实体,但是我应该为每种类型制作一个“crudl”控制器还是应该做一个基本的 crudl 然后让他们都继承这个?

我研究了“模型”和“服务层”——这是正确的做法吗?

我对 MVC 还是很陌生,使用 C# 和 ASP.net 我希望有人能给我一个正确方向的提示。

NB。请让我知道我是否应该改写这个问题。不知道该问什么才能在这里得到正确的答案。

规格:我使用 EF 4.x,如果需要,MVC3 将在可用时升级到最新版本。

希望得到一些聪明的答案或指导。提前感谢人们。是的,我也试过谷歌。不知道要搜索什么,所以我来了。

4

1 回答 1

1

我应该把代码放在哪里来处理这个“文档控制器”中不同类型的小节?

用于此的代码最终将进入一个控制器操作,然后您可以相应地处理和更新数据库。有多种方法可以做到这一点,你可以是通用的,例如

[HttpPost]
public ActionResult AddSection(string type)
{
    switch (type)
    {
        case "HEADING":
            // add new heading to database
        case "PARAGRAPH":
            // add new paragraph to database      
    }
    return View(type);
}

或者你可以是具体的,例如

[HttpPost]
public ActionResult AddHeadingSection()
{
    // add to db
    return View("Heading");
}

[HttpPost]
public ActionResult AddParagraphSection()
{
    // add to db
    return View("Parapgraph");
}

以上只是真正的伪代码,让您大致了解如何以最小的努力做到这一点。在现实生活中,您可能会发布额外的信息,例如AddHeadingSection(HeadingModel model)。这真的取决于你如何去实现它。

此外,您可能需要考虑使用 AJAX 而不是完整的回发,这会使您的应用程序更加流畅。

于 2012-08-07T11:29:32.900 回答