2012-06-22 10 views
5

Mam następującą konfigurację projektuASP.NET MVC 3 Struktura - Przejdź do wyświetlenia w innym projekcie

Projekt A (główny)

  1. Biznes
  2. Dane
  3. View (ASP MVC 3 projekt)

projekt N

  1. firm
  2. Dane
  3. View (asp.net mvc 3 projektu)

Jak mogę zadzwonić z Project A widok w projekt N i N z powrotem do A. Zasadniczo co jestem próbuje to zrobić, aby każdy projekt N miał swój własny MVC, ponieważ pochodzi z różnych źródeł i podłącz go do głównego projektu, a następnie po prostu kieruje go do właściwego widoku.

Czy to można zrobić? Czy istnieje lepszy sposób to zrobić?

Odpowiedz

0

Proponuję inne podejście, jeśli to możliwe. jeśli dobrze zrozumiałem, te projekty są w jakiś sposób wtyczkami ike, ale nie są samodzielnymi aplikacjami. Również teraz o sobie nawzajem, więc są połączone. Jest to, powiedzmy, trudne, ale używałbym tylko 1 projektu mvc asp.net (web ui). Wszystkie bity UI należące do innych projektów sprawią, że będą dla nich pomocnikami (prawie wszystkie widżety). Oznacza to, że każdy projekt zawiera tylko pomocników, którzy zostaną wykorzystani do stworzenia widoku.

Myślę, że to trochę problem architektoniczny, jeśli chcesz zachować widoki tylko w każdym projekcie, tylko po to, aby je umieścić w innym zestawie. Idąc drogą widżetów, może się to wydawać mkore, ale myślę, że zyskujesz największą kontrolę i wymagany poziom separacji. Jedyną rzeczą jest to, że nie masz zdefiniowanych pełnych widoków, ale dlaczego chcesz mieć pełne widoki (części, układy) w oddzielnych miejscach, jeśli będą używane tylko w jednym miejscu ?!

Teraz, jeśli każdy projekt jest rzeczywiście wtyczką, niezależnie od innych wtyczek, najlepszym sposobem jest przeglądanie skompilowanych widoków. Ale jeśli Projekt B wie o widoku Projektu N, to myślę, że powyższe rozwiązanie jest bardziej odpowiednie. Ta lub cała aplikacja jest zbyt zaawansowana. Rozdzielenie jest dobre, gdy nie tworzy zupełnie nowej dżungli do nawigacji.

+0

Cześć Mike, myślę, że zrozumiałeś mój pomysł. Sądzę, że to prawie jak podejście Widget, które robię i chociaż jest nieco bardziej sprzężony, wciąż mogę zmienić źródło danych i po prostu zaktualizować złożenia, nie rekompilując całej witryny. – fes

3

Można napisać niestandardowy virtual path provider. Oto nice blog post, który pokazuje przykład takiego wirtualnego dostawcy ścieżek, który umożliwia osadzanie widoków Razor na złożenia jako zasoby i ponowne wykorzystanie ich w wielu aplikacjach.

Niestety bez niestandardowego dostawcy ścieżek wirtualnych nie można przekierować widoków referencyjnych między wieloma aplikacjami MVC ASP.NET. Po prostu nie jest to dozwolone przez domyślnego dostawcę, który szuka widoków tylko w bieżącej aplikacji.

+0

Dziękuję, Darin, zajmuję się teraz artykułami. Pierwsze wrażenie jest takie, że wygląda na dość zaangażowane, więc zobaczymy, czy jest to wykonalne. – fes

+0

Można również zajrzeć do generatora Razor http://razorgenerator.codeplex.com/, aby w łatwy sposób skompilować widoki na złożenia. – MikeSW

Powiązane problemy