Подтвердить что ты не робот

Недопустимые символы в пути при вызове индексного представления с моего контроллера

Я получаю исключение ArgumentException при вызове действия индекса одного из моих контроллеров, и я не уверен, почему. Сообщение об ошибке следующее:

Ошибка сервера в приложении "/".

Недопустимые символы в пути.

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

Я не знаю, почему это происходит. вот код от контроллера:

    public ActionResult Index()
    {
        var glaccounts = db.GLAccounts.ToString();
        return View(glaccounts);
    }
4b9b3361

Ответ 1

Неопределенность возникает из-за того, что вы используете string как тип модели. Эта двусмысленность может быть решена следующим образом:

public ActionResult Index()
{
    var glaccounts = db.GLAccounts.ToString();
    return View((object)glaccounts);
}

или

public ActionResult Index()
{
    object glaccounts = db.GLAccounts.ToString();
    return View(glaccounts);
}

или

public ActionResult Index()
{
    var glaccounts = db.GLAccounts.ToString();
    return View("Index", glaccounts);
}

Обратите внимание на приведение объекта к объекту, чтобы выбрать надлежащую перегрузку метода, поскольку уже существует метод View, который принимает строковый аргумент, который представляет имя представления, поэтому вы не можете бросить все, что хотите, = > если это строка, которая должна быть это имя представления, и это представление должно существовать.

Ответ 2

Я нашел его наконец. Это действительно неудобная опечатка. Я ошибся код:

    public ActionResult Index()
    {
        var glaccounts = db.GLAccounts.ToString();
        return View(glaccounts);
    }

вместо:

    public ActionResult Index()
    {
        var glaccounts = db.GLAccounts.ToList();
        return View(glaccounts);
    }

Затем фреймворк хотел загрузить файл вида, например:

"~/Views/GLAccount/SELECT \r\n[Extent1].[Id] AS [Id], \r\n[Extent1].[OrgDefinitionId] AS [OrgDefinitionId], \r\n[Extent1].[GLAccountId] AS 
[GLAccountId], \r\n[Extent1].[Name] AS [Name], \r\n[Extent1].[StartDate] AS [StartDate], 
\r\n[Extent1].[EndDate] AS [EndDate]\r\nFROM [GLAccounts] AS [Extent1].aspx"

Надеюсь, я сэкономлю пару часов отладки для кого-то другого, разместив это: (