从我的控制器调用索引视图时路径中的非法字符

gyu*_*isc 29 asp.net-mvc-3

我在调用我的一个控制器的索引操作时收到ArgumentException,我不知道为什么.错误消息如下:

'/'应用程序中的服务器错误.

路径中的非法字符.

[ArgumentException: Illegal characters in path.]
 System.IO.Path.CheckInvalidPathChars(String path) +126
 System.IO.Path.Combine(String path1, String path2) +38
Run Code Online (Sandbox Code Playgroud)

我不确定为什么会这样.这是控制器的代码:

    public ActionResult Index()
    {
        var glaccounts = db.GLAccounts.ToString();
        return View(glaccounts);
    }
Run Code Online (Sandbox Code Playgroud)

Dar*_*rov 62

模糊性源于您使用string的模型类型.这种歧义可以像这样解决:

public ActionResult Index()
{
    var glaccounts = db.GLAccounts.ToString();
    return View((object)glaccounts);
}
Run Code Online (Sandbox Code Playgroud)

要么:

public ActionResult Index()
{
    object glaccounts = db.GLAccounts.ToString();
    return View(glaccounts);
}
Run Code Online (Sandbox Code Playgroud)

要么:

public ActionResult Index()
{
    var glaccounts = db.GLAccounts.ToString();
    return View("Index", glaccounts);
}
Run Code Online (Sandbox Code Playgroud)

注意对象的强制转换选择正确的方法重载,因为已经有一个View方法接受一个表示视图名称的字符串参数,所以你不能抛出任何你想要的东西=>如果它是一个字符串它必须是视图的名称这个观点必须存在.