Vraag Ongeldige tekens in pad bij het aanroepen van de indexweergave vanaf mijn controller


Ik ontvang een ArgumentException wanneer ik de indexactie van een van mijn controllers aanroer en ik weet niet zeker waarom. De foutmelding is de volgende:

Serverfout in '/' Toepassing.

Ongeldige tekens in pad.

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

Ik weet niet zeker waarom dit gebeurt. hier is de code van de controller:

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

29
2018-04-12 12:45


oorsprong


antwoorden:


De ambiguïteit komt van het feit dat je gebruikt string als modeltype. Deze ambiguïteit kan als volgt worden opgelost:

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

of:

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

of:

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

Merk op dat de cast een object is om de juiste methode te overladen, omdat er al een is View methode die een stringargument opneemt dat de view-naam representeert, zodat je niet kunt gooien wat je wilt => als het een string is, moet dit de naam van de view zijn en deze view moet bestaan.


63
2018-04-12 12:54



Ik heb het eindelijk gevonden. Het is echt een beschamende typfout van mij. Ik heb de code verkeerd getypt:

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

in plaats van:

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

Vervolgens wilde het framework een viewbestand laden, zoals dit:

"~/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"

Hopelijk bespaar ik een aantal uren debuggen voor iemand anders door dit te plaatsen :(


1
2018-04-12 12:59