0

我是 MVC 的新手,想确保我了解如何实现我需要构建的复杂视图。

我需要允许用户在一个页面上添加多个机构,每个机构都可以

进行了多次培训。

因此视图模型将是包含培训列表的机构列表。

我将有一个按钮,允许他们添加多个机构和机构内

部分另一个按钮,允许他们添加多个培训。

关于回发方法我是否只是循环遍历模型中的机构,并为每个机构循环遍历其培训列表以将它们保存到数据库中?

4

1 回答 1

0

您可能想改用这样的控制器:

public class InstitutionController : Controller
{
    public ViewResult Index()
    {
        return View(); // Keep it simple, load data via JSON instead
    }

    [HttpPost]
    public JsonResult Load()
    {
        // Go get Institutions etc
        return Json(institutions);
    }

    [HttpPost]
    public JsonResult Save(Institutions[] institutions)
    {
        try
        {
            // Save the institutions to the DB
        }
        catch (Exception ex)
        {
            return Json(new { Message = "Error." });
        }
        return Json(null); // Or some other way of saying it worked
    }
}

也就是说,您传递给视图的模型不会被浏览器持久化——而是在服务器生成响应时短暂地存在于服务器内存中。

但是,在上面的示例中,您可以创建一个视图,该视图使用例如 jquery 通过 JSON 从服务器加载模型,然后您可以在页面的整个生命周期内将其保留在浏览器中。当用户对机构或机构进行修改时,您可以使用上述 Save() 之类的方法将新数据或数据更改发送到服务器以保存到数据库中。

于 2013-02-16T23:25:45.653 回答