2013-07-19 6 views
6

Jak już wspomniałem w tytule, mam ogromny PROJEKT WEB SİTE i chcę dodać MVCinto to.Jak zintegrować ASP.NET mvc z Projektem WWW

Podążyłem za kilkoma tutorialami, ale wszystkie dotyczą integracji MVC w projekcie aplikacji internetowej.

http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx

Ale nie mam projektu WEP aplikacji.

Czy jest jakiś sposób na mój problem?

+0

nie możesz dodać strony do projektu MVC? –

+0

@PKKG jest niemożliwe z powodu ogromu mojego starego projektu. – brtb

+0

Spróbuj tego, może to pomóc. http://jefferytay.wordpress.com/2012/04/10/getting-asp-net-mvc-3-to-work-with-asp-net-website-project/ – Grievoushead

Odpowiedz

9

Istnieje wiele postów na blogu, jak zmusić MVC do pracy z aplikacjami sieci Web ASP.NET. Jednak wciąż istnieją scenariusze, w których korzystamy z normalnych projektów stron ASP.NET, a nie z projektów aplikacji internetowych.

Poniżej znajdują się kroki w celu umożliwienia MVC 3 z projektu strony asp.net

1. Zainstaluj ASP.NET MVC 3

2. Zmienić web.config

Otwarte up web.config w Visual Studio i dodaj następujące linie wewnątrz sekcji

3. Zmienić global.asax

Następnie trzeba będzie dodać w kodzie dla MVC wyzwala wewnątrz globalny.asax (utworzyć, jeśli nie istnieje)

Dodaj poniższe linie po <% @ Application Language = "C#" %>

enter image description here

Dodaj następujący po

enter image description here

dodać następujące po środku zgłoszenie_start

enter image description here

W tym momencie Twój global.asax powinien wyglądać

enter image description here

4. Tworzenie kontrolera

Ponieważ jest to projekt strony internetowej, kompilacja jest przy starcie, więc będzie musiał utworzyć kontrolery w folderze App_Code zamiast w zwykłym folderze Controller na stronie głównej

Należy pamiętać, że kontrola er class musi kończyć się słowem kluczowym Controller. W przykładzie z kontrolerem = "Home" nazwą klasy kontrolera musi być HomeController Aby dodać swój pierwszy kontroler, kliknij prawym przyciskiem myszy folder App_Code i utwórz nową klasę o nazwie pliku jako HomeController.cs

Wklej następujący kod do HomeController.cs (wymienić wszystko)

enter image description here

5. Przetestuj witrynę

Po wygenerowaniu trasy i utworzeniu kontrolera przejdź do localhost/home. Powinieneś zobaczyć "Hello World"

Powyższa zawartość pochodzi z here. Nie można dodać odwołania bezpośrednio, ponieważ link może zostać zerwany.

Mam nadzieję, że to powinno pomóc

+0

Jak przekazać parametry do takiej realizacji? Zaimplementowałem go pomyślnie, ale otrzymuję błąd HTTP 404, jeśli chcę przekazać parametry do kontrolera (akceptuje ciąg) – user3036342

+0

Prace pocztowe, mówię o GET (więc jeśli wpiszę parametr w adresie URL) – user3036342

+0

Nie musisz ręcznie dodawać tego tekstu do swojego pliku web.config. Możesz po prostu kliknąć prawym przyciskiem myszy na swojej stronie internetowej i Dodaj >> Odniesienie i przeglądać biblioteki. –

1

Obawiam się, że najpierw trzeba będzie przekonwertować witrynę internetową na aplikację internetową. Aby uzyskać wyjaśnienie, jak to zrobić, zobacz this link. Może to wymagać trochę wysiłku, ale myślę, że format aplikacji internetowych jest o wiele łatwiejszy w obsłudze, więc zdecydowanie warto.

+0

Nie muszę tego robić – brtb

3

Konwersja całej witryny sieci Web na aplikację internetową (WAP) może być bolesna, więc nie sugeruję tego. Możesz wypróbować inną sugestię z @Grievoushead dotyczącą pracy MVC w projekcie strony internetowej (co może zadziałać), ale zasugeruję alternatywę.

Zamiast próbować scalić serwis WWW i WAP MVC, staraj się, aby były w większości oddzielne, ale dzielą ten sam folder. Możesz zrobić coś takiego: - Rozpocznij od utworzenia projektu MVC w oddzielnym folderze - Skopiuj wszystkie pliki z niego do witryny sieci Web. Może być konieczne ręczne scalenie plików coupe takich jak web.config i global.asax. - Następnie chcesz pracować nad swoim kodem MVC, otwierasz csproj w VS. Ale jeśli chcesz pracować nad oryginalnym kodem, po prostu otwórz folder jako witryna internetowa.

Trochę niezwykłe, ale w zależności od konkretnej sytuacji może to być dobre podejście.

+0

sesja, pamięć podręczna itp. są wspólne dla projektów? – Rahatur