Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 613
  • Last Modified:

Adding MVC3 module to Orchard

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
codeJen
Asked:
codeJen
  • 4
  • 3
1 Solution
 
darjimaulikCommented:
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
 
codeJenAuthor Commented:
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
 
darjimaulikCommented:
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
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
codeJenAuthor Commented:
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
 
darjimaulikCommented:
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
 
codeJenAuthor Commented:
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
 
codeJenAuthor Commented:
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

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 4
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now