ASP.Net MVC:为json请求创建一个区域

时间:2010-02-02 05:36:16

标签: asp.net-mvc ajax json asp.net-mvc-areas

只是想知道人们如何看待创建一个区域来保存/管理基于json的请求(注意我认为主要是获取数据而不是发布数据)。我知道它不是你对某个区域的典型用法(即通常你会为博客和论坛创建一个不同的区域)但是我到了我的项目不是很大但我肯定有很多json的东西似乎混淆问题,让事情看起来“不干净”。

例如,在每个控制器的底部是我放json动作的地方,所以他们不会混淆我用json作为前缀的其他动作 - 我不应该这样做...我也有json的特定视图模型,我必须以json为前缀...等等。

将它们放在自己的区域并且能够将json前缀全部放在一起并且具有由该区域定义的那些看起来更清洁......您认为或者这是一个坏主意?

干杯 安东尼

3 个答案:

答案 0 :(得分:1)

我认为这是一个好主意。拥有一个所有控制器只实现异步操作的异步区域肯定会清理你的代码。当你的项目变得如此之大以至于你想要扩展到常规区域时会出现问题,那么你最终会得到一些可能会有点混乱的命名约定。

答案 1 :(得分:0)

您也可以为json操作创建一个单独的控制器。我认为这比创建一个区域更有意义。您是否需要json特定的视图,内容,模型等或只是一些异步操作?

答案 2 :(得分:0)

我认为创建单独的区域甚至是单独的行动并不是一件好事。如果操作返回相同的数据并且仅在请求的类型(ajax或非ajax)上有所不同,则可以检查请求的内容并使用相应的数据格式。

public ActionResult Index()
{
    MyViewModel model = DataAccess.GetMyViewModel(); // Data access code
    if (Request.IsAjaxRequest())
    {
        return Json(model);
    }
    else
    {
        return View(model);
    }
}