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

5
  • I am also getting same problem ... someone help ...
    – user867
    Jan 9, 2014 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) Jan 9, 2014 at 11:17
  • What are the File Description and File Version properties of the DD4T.MVC.dll file?
    – Quirijn
    Jan 9, 2014 at 12:10
  • @user866 please respond to the comments by updating your question, that is much more readable and less messy. Jan 9, 2014 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, 2014 at 13:59

2 Answers 2

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" >
1
  • I have <modules runAllManagedModulesForAllRequests="true" >, but the page controller never gets hit
    – Mr Smith
    Aug 5, 2014 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 and acknowledge that you have read and understand our privacy policy and code of conduct.

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