无法隐式将类型'void'转换为'object'MVC cshtml方法调用

时间:2013-12-12 12:42:01

标签: asp.net-mvc razor signalr

我在调用Mvc-Project中的cshtml文件中的一个简单方法时遇到了一些问题。这是给我错误的代码:

@{
var chatHub = new TestClass();
}
@chatHub.TestMethod();

这是“@ chatHub.TestMethod();”那就是给我“不能隐式地将类型'void'转换为'object'”错误。

这是TestMethod:

public void TestMethod()
        {
            ChatHub test = new ChatHub();
            //var context = GlobalHost.ConnectionManager.GetHubContext<ChatHub>();
            test.JoinGrupprum1();
        }

这是Joingrupprum1:

public void JoinGrupprum1()
        {
            Groups.Add(Context.ConnectionId, "Grupprum1");
        }

知道问题是什么?

1 个答案:

答案 0 :(得分:7)

使用@ @chatHub.TestMethod();之前,您指示Razor将chatHub.TestMethod()的结果打印到HTML。为了打印某些内容,它会在结果上调用object.ToString()

但是,您的方法是void,因此不会返回任何内容。如果您不打算打印任何内容,请将其移到大括号内:

@{
    var chatHub = new TestClass();
    chatHub.TestMethod();
}