Radcontrol using MVC master page - asp.net-mvc

I cannot use RadMenu Control in master page with MVC pattern (MVC Framework 3.5)?
How can I do it?

Unfortunately any 3rd Party controls that depend on ViewState (which most do) will not work using the .NET MVC Framework as ViewState only exists in the WebForms paradigm.
I would check the JQuery plugins to see if you can find one which meets your requirments.
http://plugins.jquery.com/
It should be said that server controls that don't use ViewState will still work however.

Related

Can MVC framework be used in a web application that is currently using ASP .NET?

I recently joined a group that manages a Classic ASP web application. It has been working fine for our group's need. However, a decision was made, before I joined, to move to ASP .Net. Since we are mostly ASP developers, we write code in ASP .Net as we would in Classic ASP (for the most part). Would it be possible to introduce MVC to this application/project?
Thanks!
Yes, it is possible to use MVC in a traditional WebForms project. I migrated a large WebForms project to MVC 2 a couple of years ago, and here are my findings (I have updated them to reflect MVC 3)
Make sure you have .NET 4.0 installed, as well as the MVC 3 framework and VS extensions.
Create a new blank MVC project to use as a reference.
Look at the default web.config for the reference project. You basically want to use the reference web.config, and merge in stuff you need from your current project.
Look at the reference global.asax.cs. Similar to the above, you want to merge the changes in the reference .cs into your current application's global.asax.cs.
You will need to add the following references to your web project:
System.Web.Abstractions,
System.Web.Extensions,
System.Web.Helpers,
System.Web.Mvc,
System.Web.Routing
You can enable the VS extensions by changing the ProjectTypeGuids:
In Solution Explorer, right-click the project name and select Unload Project. Then right-click the project name again and select Edit ProjectName.csproj.
Locate the ProjectTypeGuids element and add {E53F8FEA-EAE0-44A6-8774-FFD645390401}.
Save the changes, right-click the project, and then select Reload Project.
Add the following standard folders for MVC content:
~/Views
~/Views/Shared
~/Controllers
~/Models (for your view models, optional)
~/Content (for CSS and images, optional)
~/Scripts (for JS, optional)
Additional notes:
If your existing WebForms relies on web.config settings for authorization (such as preventing unauthorized users), this won't be recognized by MVC actions, because routing works completely separately from the WebForms authorization. Use AuthorizeAttribute to require authorization, or constrain actions to certain roles or users. You can even specify global filters so you don't have to apply this attribute on every single controller or action.
There may be additional considerations for making MVC work with IIS versions prior to 7, or with application pools that use the Classic pipeline. Consider using IIS 7+ with Integrated pipeline.
My notes above mainly involve getting the baseline of MVC working, which uses ASPX views. ASPX views use the same markup as the ASPX files you are used to in WebForms. You can also use the new Razor syntax (primer), which I highly recommend. You can use both ASPX and Razor view pages at the same time. However, you cannot use an ASPX master page on a Razor view (or vice versa). Also, MVC will find and use ASPX views before Razor views, so if you upgrade a view to Razor, delete the original ASPX. You will need to do a little additional work to enable Razor views. I'm trying to find my notes for enabling Razor. I'll update when I find them. Once you do have Razor installed and working, you can use this tool by Telerik to convert ASPX to Razor.
Here is a question on SO about a problem I'd had while upgrading. I'm only providing it because it covered some of the points I mentioned above in more detail. However, I was upgrading to MVC 2 at the time, so some of this stuff is out of date.
The short answer is yes it is possible.
Scott Hanselman has written about this topic before.
Depending on the skills in your team, you may well find it difficult to get up to speed - it is possible to write clean MVC style code in Classic ASP but most people don't.
It is of course technically possible. However, it sounds like it would be a cultural shock, as MVC works quite a bit differently than Classic ASP or ASP.NET WebForms. I think it would be worthwhile to do - or just stick with ASP.NET WebForms if that seems more natural. But if you've not yet fully committed to WebForms, MVC seems just as easy to move to, IMO.
Yes. I worked on a project that began as plain ASP.NET and later added some ASP.NET MVC pages. Eventually we liked MVC so much more that we eventually migrated all of our WebForms pages to use MVC instead. But the whole time, the two systems worked very well together.
Here's the only real gotcha that I can remember running into: WebForms works by having the entire page encased in a big <form> tag. Since HTML doesn't allow you to have nested <form> tags, you typically can't use MVC forms inside of a WebForms page. Either keep your WebForms pages separate from your MVC content, avoid using HTML forms in MVC content that may appear on a WebForms page, or use popup dialogs for your forms that get created outside of the WebForms DOM area.

Side-by-Side Asp.Net and MVC Razor

We have an existing ASP.Net Web Application. I would like to create an ASP.Net MVC Razor Application where the two applications will work together. A single Master Page would contain menu items that can call .aspx pages as well as Razor .cshtml pages.
I have seen an example using MvcContrib Portable areas utilizing Routing. This particular example has .aspx pages in both (the MVC was not Razor).
Is there an example out there that will show the two running side-by-side and the MVC is Razor? It would be best if I could download a visual Studio Solution so that I can run this.
I am not sure if the MvcContrib way is the latest and best way to achieve this.
I do not want to go Hybrid!
You don't need any other external librarry. You can always convert the existing ASP.NET web forms Project to be a Hybrid one which uses webforms and MVC. You need to add the required MVC assembly references and make some changes to the web.config and you are all set. Scott has a simple and awesome blog post about this where he explains how to do the conversion.
I scribbled a note about how to enable the MVC specific Context menu( Add Controller / Add View) in the hybrid project after conversion here

.NET MVC + Dojo (Other Framework) for mini-ERP

We are about to develop a mini-ERP web-app. We need the app to be browser agnostic with rich user interface which should be 'enterprise-ready'!. Something like the latest openERP.
We are planning on using the .NET MVC 3 and Dojo for our project.
So our major queries are:
Are there any Htmlhelpers for Dojo. Any opensource implementation where we can get some idea.
Will the app be slow if we use Dojo? In our previous project we integrated Dojo with PHP and had to make the web-app SPA (single page application). This is because on each request, the declarative markup was processed by dojo. So larger the no. of widgets, longer the processing. We had not tried the Dojo build feature then. Will that make it fast? Or do we have to go with the Single Page Application? What are the pro/cons of SPA?
Note: We are open to using any other competitive JS Framework. Bonus point if we get some ready implementation with .NET MVC (for reference).
I have developed ERP application using ASP.NET MVC 2. It is not so advanced but it gets the job done.
Here are some points concerning its implementation:
It is not SPA
For the UI I have used jQueryUI and jqGrid, which perform very well
AJAX form submission using jQuery Form Plugin
We are using ASP.NET MVC4 in our ERP project. These features are related with the architecture .
JQuery Layout
SlickGrid (a open source grid control with very rich functions and plugins)
ZTree
JQuery Dialog
WebApi (not WCF)
Dapper (not EntityFramework)
We combine many plugins working together, and one team member is familiar with CSS and DIV layout. There are some challenges if you haven't rich experience with javascript and UI layout. Finally, we have completed the project, it is amazing.

Can i add MVC project in normal asp.net c# project?

can anybody tell me that if i made a normal asp.net c# project and in that solution i want to add mvc project. so is it possible to call mvc view from normal page which is in first project? if yes then how can i call view page from normal page of asp.net c# project.
on live server how can i call mvc page?
Thanks
Samir
Mixing VB ASP.NET and C# ASP.MVC projects in a single solution
Ok, couple of different things here.
Can a ASP.NET forms project exist in the same solution? Yes
Can you mix MVC with WebForms in the same project? No
Can a MVC site communicate with a WebForms site? Yes, you can easily pass between via simulated form submission or by URL. You could also configure cookies to work across both sites.
Can you have an MVC site and a WebForms site use the same url? No

Scheduler with asp.net MVC

I want to use a Scheduler like Telerik Scheduler in my MVC project. The problem is that the Scheduler is a Asp.Net WebForm control. For this reason, I must create a WebForm page in my Mvc project to put the Scheduler control.
When I show the page, it work fine to render the layout of the control but if I try to interact with it; click for change date, change to day view to week view, the control don't change.
I know that postback doesn't work in mvc project but does it work in a WebForm page in a Mvc project? If it doesn't work, it is the reason why when I try to interact with the control, the control don't respond.
I think it's because the postback don't work and the Scheduler use 100 % Databinding where when I change date, the postback don't contain any data that I have changed and for this reason, the control can't change is layout.
Do you have any ideas about postback with WebForm in a MVC project?
What type of designs can I adopt? (Two differents projets: One for my Scheduler with WebForm and another for all the rest of my website in Mvc project)
Are there any other controls that are easy to use with Scheduler?
Does anyone have any tips and tricks when needing both a WebForms control and MVC control in an MVC project?
Hanselman has a good guide for mixing MVC and WebForms into the same project.
You can try DayPilot Pro (my product, commercial) which has both ASP.NET and MVC versions.
ASP.NET:
http://www.daypilot.org/
MVC
http://mvc.daypilot.org/

Resources