Solved

Adding MVC3 module to Orchard

Posted on 2013-02-04
7
567 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
NAS Cloud Backup Strategies

This article explains backup scenarios when using network storage. We review the so-called “3-2-1 strategy” and summarize the methods you can use to send NAS data to the cloud

 

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

Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

In this article, we will look at our content management system as a whole, to get an idea of how we will start to manage these content items.
Read about how to approach blogging and about ways to do it right. Stand out from the crowd and let your knowledge be consumed by a large audience. This article aims to explain how your blog should look like,  the most important things to do while b…
This Micro Tutorial demonstrates using Microsoft Excel pivot tables, how to reverse engineer competitors' marketing strategies through backlinks.
This video shows how to quickly and easily add an email signature for all users on Exchange 2016. The resulting signature is applied on a server level by Exchange Online. The email signature template has been downloaded from: www.mail-signatures…

785 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