如何将对象从控制器返回到可能不是模型的View

时间:2015-03-07 01:31:25

标签: c# asp.net-mvc asp.net-mvc-4 razor

我是MVC的新手,我不太熟悉这里的最佳实践。我正面临着一个设计问题,这对我这样的新手来说可能是常见的或不常见的。我的问题如下:

我有一个页面,里面有两个部分。

  1. 网格控制(包含员工基本信息)
  2. 员工详细信息(当有人点击网格行时,它会加载有关员工的所有详细信息)
  3. 我正在使用KendoGrid,它从我的控制器的ActionMethod获取所有数据。

    现在,当我点击该行时,我有以下选项:

    1. 我在Controller中调用一些ActionMethod并返回所有细节
    2. 我应该将部分View与单独的模型一起使用,以便ActionMethod在响应中调用RenderPartialView()?
    3. 我是否应该创建局部视图,让Action方法返回JSON并在模型中解析它?  3.1如果我选择这个选项那么JSON会成为模型的一部分吗?  3.2如果它不是模型的一部分,我如何使用JSON渲染视图?
    4. 或者我可能错过了一些基本的东西?

1 个答案:

答案 0 :(得分:1)

是的,你可以使用返回JsonResult的action方法。需要做的是保留您需要在页面本身的网格行点击中显示的元素。启动对action方法的ajax调用,并在成功时从JSON中接收的值更新UI元素的值,并使整个DIV可见,其中包含总信息。 我认为您可以选择使用json,而不是通过网络传递整个HTML。

您可以在以下位置找到示例 example