为什么我会收到错误:'viewModel'是一个变量但是像'方法'一样使用?

时间:2014-04-10 00:34:55

标签: c# asp.net asp.net-mvc-3

我创建了所有列表的视图模型

 namespace XXX.ViewModels
  {
     public class AlertData
     {

    public virtual List<String> lstPresent { get; set; }
    public virtual List<String> lstTardy { get; set; }
    public virtual List<String> lstNoShow { get; set; }
     }
 }

然后在我的控制器中我想做这样的事情:

  private List<XXX.ViewModels.AlertData> dataToBeReturned()
    {

...此处加载列表的代码......

然后我创建一个视图模型并为其分配新数据:

        var viewModel=new AlertData();
        viewModel.lstPresent=present;
        viewModel.lstTardy=tardy;
        viewModel. lstNoShow = nowShow;

最后我想这样回来:

 Return viewModel();

在这里,我收到一条错误消息,指出'viewModel'是一个变量,但用作'方法'。我搜索但找不到像我一样的问题。

为什么我会收到错误:'viewModel'是一个变量但是像'方法'一样使用?

感谢您对此提供任何帮助。

3 个答案:

答案 0 :(得分:0)

因为viewModel是一个变量。您像方法一样使用它。

当你调用一个方法时......你在括号中传递参数,如下所示:

someMethod(arg1, arg2);

您尝试使用viewModel变量

尝试这样做
viewModel();

这是不正确的。只需返回视图模型:

return viewModel;
//             ^^ no parenthesis

答案 1 :(得分:0)

删除括号:

return viewModel;

当您包含括号时,它会认为您正在尝试返回名为viewModel()的方法的结果,而该方法并不存在。

答案 2 :(得分:0)

你在最后一行上返回的viewModel实际上是一个变量(你实例化的一个对象),所以你可以简单地返回它而没有括号:

return viewModel;