Solved

Adding MVC3 module to Orchard

Posted on 2013-02-04
7
555 Views
Last Modified: 2013-02-27
Hello experts.

My issue is adding a MVC3 application to Orchard.  My paths to images, java script files and JQuery scripts do not work unless I put the path to my C: drive where the files are located.  Going across 3 enviroments isn't going to work like this.  

To show an example, here is how the script is currently and not working:
<link type="text/css" href="<%=Url.Content("~/Content/Site.css")%>" rel="stylesheet" /> 

Open in new window


This is the only way it will work that I can find so far.
<link type="text/css" href="C:\mywfg\MyWfg.com2\source\Orchard\src\Orchard.Web\Modules\WFG.OnlineProductGuide\Content\Site.css" rel="stylesheet" /> 

Open in new window


Anyone know why this does not work like this or if there is another syntax I should try? ="<%=Url.Content("~/Content/Site.css")%>"

It works until I add the module to Orchard, then anything referencing another script, page, or CSS file breaks.
0
Comment
Question by:codeJen
  • 4
  • 3
7 Comments
 
LVL 9

Expert Comment

by:darjimaulik
ID: 38854125
Can you give us some idea about your MVC3 Application.
What is the Purpose of the application?
What will be added in the CMS.

Orchard is a CMS so there are some different ways to integrate application with a CMS.

I have worked on Orchard so I can help you out in this.
But before that i need some details on your application.
0
 

Author Comment

by:codeJen
ID: 38855311
Here is a brief description of my application.  It's in MVC3 and it's using a master page.  So far I haven't been able to make the master page work within Orchard.  
Using: MasterPageFile="~/Views/Shared/Site.Master"  Gives an error it can't find it but outside of Orchard this works as it should.

I have tried to add in the Orchard.Web module's web.config this:
<add name="ASPX" path="*.aspx" verb="*" type="System.Web.UI.PageHandlerFactory" preCondition="integratedMode" requireAccess="Script"/>

Open in new window

 in hope that it would recognize webforms.    Not sure if this is correct since I ran across this in a asp.net forum.  It didn't help my master page to show.

The whole purpose of this app is to display online products.  It should be as easy as moving it in Orchard without changes but not really knowing Orchard there may be things that are not compatible?  Guessing.
0
 
LVL 9

Expert Comment

by:darjimaulik
ID: 38855614
Orchard is MVC and it does not support webforms i.e. aspx pages.
so your master page will not work in orchard.

MVC Application can't have the master pages or webforms so i am bit confused that you say mvc app have master pages.

MVC and webforms dont go together.
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 

Author Comment

by:codeJen
ID: 38855744
ASP.NET MVC 3 is a framework for building scalable, standards-based web applications using well-established design patterns and the power of ASP.NET and the .NET Framework.

Orchard is a Web CMS, which essentially aims at helping you build web sites from existing pieces. Orchard is built on ASP.NET MVC.

Is there any documentation that says webforms and orchard don't go together?
0
 
LVL 9

Accepted Solution

by:
darjimaulik earned 500 total points
ID: 38858246
All MVC based application and Orchard don't have by default support for webforms and master pages. They have different concept. So you should not mix.
We can add aspx and master pages but then why create an MVC Application.

As a standard practice if project is build in MVC then dont use ASPX pages in it. and vice versa.

Regarding Orchard, It is a Very flexible system. Check the below link - How you can have webforms page in Orchard.
 
http://stackoverflow.com/questions/6637696/webforms-page-inside-of-orchard-cms-application

But for Master pages please read this
http://orchard.codeplex.com/discussions/246117

Regarding your issue:
<link type="text/css" href="<%=Url.Content("~/Content/Site.css")%>" rel="stylesheet" /> 
<link type="text/css" href="C:\mywfg\MyWfg.com2\source\Orchard\src\Orchard.Web\Modules\WFG.OnlineProductGuide\Content\Site.css" rel="stylesheet" /> 

Open in new window

From your code i can say that the first line will try to find the css in Content folder in Root.


Output the path generated by url.content - It will be
C:\mywfg\MyWfg.com2\source\Orchard\src\Orchard.Web\Content\Site.css
It may not have the path till the module.

So you have to either give relative path till the module or you have to keep the css etc in the root folder.


Normal CMS Concept:
There is a Layout design (known as Base Page or Master Template or Layout Template) and add the modules in the given design so whole website have the same look and feel.

In orchard you dont have to create a master page for a Module but you should use the Layout.cshmtl to display.
0
 

Author Closing Comment

by:codeJen
ID: 38911227
Thanks for your wonderful feedback.
 
Unfortunatly I am faced with webforms not working in our Orchard enviroment.  I have tried the links given already, and the webforms still wouldn't display after making the web.config change.  

However, you did confirm the relative path issue I had so I consider this question answered.
0
 

Author Comment

by:codeJen
ID: 38933913
I wanted to add some links here that I really found helpful on top of the great support I received.  Being new to Orchard and Razor view engine has been quite a challenge.  Hopefully this will help anyone else out there new to Orchard and Razor.

I found a video that explains the fundamentals of Orchard and a link that explains the webforms to Razor and also a great explanation of Razor syntax.

Orchard Fundamentals

Intro to using Razor

Razor Pages with Webforms
0

Featured Post

Highfive Gives IT Their Time Back

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Sometimes in DotNetNuke module development you want to swap controls within the same module definition.  In doing this DNN (somewhat annoyingly) swaps the Skin and Container definitions to the default admin selections.  To get around this you need t…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

760 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now