7

I am trying to setup DD4T with MVC 3, but I am getting 404 error when I try to view page in browser using /index.aspx

Following are the details which I have done for this DD4T setup :

  1. Created PT and CT using DD4T templates.
  2. Created page based on DD4T PT and published to broker.
  3. Made required changes in the cd_storage config file, so that published content should go to broker database.
  4. Verified that page is successfully published to broker.
  5. Created project based on DD4T template in Visual studio.
  6. Added a required Tridion jars and config files in bin folder of the website.

Can anyone please let me know why I am getting this error. How MVC3 and DD4T project takes reference from broker?

Update

We have a Page controller which implements TridionControllerBase. We have a route defined in global.asax as

routes.MapRoute("TridionPage", "{PageId}", 
                new { controller = "Page", action = "Page" }, 
                new { pageId = @"^(.)?$" } // Parameter constraints ); 

Details regarding Content Delivery instance:

Bin - Tridion.ContentDelivery, Tridion.ContentDelivery.Configuration and Tridion.ContentDelivery.Interop DLLs

Config - cd_storage and cd_dynamic config files

Lib - Tridion jars

File Version - 1.26, File Description - DD4T.MVC

  • I am also getting same problem ... someone help ... – user867 Jan 9 '14 at 11:08
  • - Do you have a (Page)Controller that inherits from TridionControllerBase? - Do you have a route defined that maps requests to this controller? (To the 'Page' Method) DD4T uses the OOTB Tridion Content Delivery API to retrieve content from the Broker DB. So your website should have a valid Content Delivery Instance (dll's, bin\lib, bin\config) – Albert Romkes Jan 9 '14 at 11:17
  • What are the File Description and File Version properties of the DD4T.MVC.dll file? – Quirijn Jan 9 '14 at 12:10
  • @user866 please respond to the comments by updating your question, that is much more readable and less messy. – Bart Koopman Jan 9 '14 at 12:43
  • You are using an old version of the template. You can download the latest from the site (version 1.31), or use NuGet to get the correct packages. In your case, that would be DD4T-Tridion-2011sp1 and DD4T-MVC3. – Quirijn Jan 9 '14 at 13:59
3
  1. Confirm the Page exists in the 'Page' table in the TridionBroker DB
  2. Set a breakpoint in the DD4T PageController here: PageId = UriHelper.ParseUrl(pageId);
  3. If the breakpoint is not hit, then .Net MVC is handling your URL (maybe it is .html) as a static file. Add this to your web.config: <modules runAllManagedModulesForAllRequests="true" >
  • I have <modules runAllManagedModulesForAllRequests="true" >, but the page controller never gets hit – Mr Smith Aug 5 '14 at 18:58
0

You need to make sure that you have the proper license file referenced in your config files. I've noticed a number of times when DD4T says it can't find a page, it is not even connecting to the broker because of Tridion license issues.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.