Adam
Adam

Reputation: 16199

Specific TableController name not working

I have an extremely odd error and wondered if anyone knew the reason for this.

When I create a new DataObject and TableController called Content and ContentController respectively, it doesn't register the tablecontroller and the help documentation it automatically generates has lost its styling.

I can't connect to the controller at all but all other controllers work as expected.

If I just rename it to DataController and that's just the name of the controller, not the dataobject everything works perfectly.

Is ContentController a reserved word of some kind or is this just specifically happening on my machine?

public class DataController : TableController<Content>
{
    protected override void Initialize(HttpControllerContext controllerContext)
    {
        base.Initialize(controllerContext);
        MobileContext context = new MobileContext();
        DomainManager = new EntityDomainManager<Content>(context, Request, Services);
    }

    // GET tables/Content
    public IQueryable<Content> GetAllContent()
    {
        return Query(); 
    }

    // GET tables/Content/48D68C86-6EA6-4C25-AA33-223FC9A27959
    public SingleResult<Content> GetContent(string id)
    {
        return Lookup(id);
    }

    // PATCH tables/Content/48D68C86-6EA6-4C25-AA33-223FC9A27959
    public Task<Content> PatchContent(string id, Delta<Content> patch)
    {
         return UpdateAsync(id, patch);
    }

    // POST tables/Content/48D68C86-6EA6-4C25-AA33-223FC9A27959
    public async Task<IHttpActionResult> PostContent(Content item)
    {
        Content current = await InsertAsync(item);
        return CreatedAtRoute("Tables", new { id = current.Id }, current);
    }

    // DELETE tables/Content/48D68C86-6EA6-4C25-AA33-223FC9A27959
    public Task DeleteContent(string id)
    {
         return DeleteAsync(id);
    }

}

Upvotes: 0

Views: 192

Answers (1)

SeanCocteau
SeanCocteau

Reputation: 1876

An MVC project will create an application directory called Content. This will override your route mapping to the ContentController.

You can get around this if desired through changing RouteMaps and other trickery although probably the simpliest answer is to change the name of the controller...

Upvotes: 3

Related Questions