ASP.NET odpowiednik strony serwera zawiera

Chociaż klasyczna metoda ASP po stronie serwera obejmuje prace w ASP.NET odnoszę wrażenie, że nie jest to preferowana metoda. Jak " mam " osiągnąć ten sam efekt?

Tak to robię w tej chwili:
<!-- #include file ="functionlib.aspx" -->

Author: RedFilter, 2009-05-21

4 answers

Masz teraz wiele opcji, które zapewniają ten efekt, ale w inny sposób.

  • Kontrola Użytkownika (.ascx)
  • Strony Wzorcowe (.master)
  • Sterowanie Po Stronie Serwera (.dll)
  • Biblioteki Klas (.dll)
  • Klasy App_Code (.cs/vb)

Każdy z nich służy do różnych celów, aby osiągnąć różne rzeczy. To zależy, co naprawdę próbujesz zrobić. Biorąc pod uwagę nazwę pliku include, wyobrażam sobie, że próbujesz włączyć funkcje biblioteczne, które będą być używane w kontekście Twojej strony.

W konsekwencji napisałbyś bibliotekę klas zawierającą metody i zaimportowałeś je do swojej aplikacji/aspx.

Jeśli szukasz szablonów stron, które wykonają większość pracy nad układem, aby zapewnić treść dla różnych treści, będziesz zainteresowany stronami wzorcowymi.

Jeśli szukasz kontrolek szablonów, które mogą być używane na wielu stronach, będziesz szukał kontrolek użytkownika.

Jeśli patrzysz na szablony kontrolek, które mogą być używane przez wielu użytkowników w wielu projektach, a następnie będziesz patrzeć na kontrolki po stronie serwera.

Jeśli patrzysz na bibliotekę klas / metod, to rozwiniesz bibliotekę klas lub użyjesz klasy app_code, która może być skompilowana przy pierwszym wywołaniu. Ta Może w pewnym sensie być uważana bardziej za klasyczną ASP, ale tak naprawdę działa bardziej jak klasa z biblioteki klas jako pojedyncza jednostka. Możesz zadzwonić z poziomu swojego kodu lub wewnątrz znaczników w kodzie aspx/ascx bez konieczności odwoływania się do biblioteki klas.

Tak naprawdę nie używamy już "includes" jako takiego, ale każde z tych narzędzi w twoim zestawie narzędzi pozwala dostarczyć podobne koncepcje dla różnych scenariuszy. Jako programista będziesz wchodzić w interakcje z całym cyklem życia stron internetowych w inny sposób. ASP.NET to zupełnie inna bestia niż klasyczna ASP. To naprawdę wymaga innego spojrzenia/podejścia i wymaga trochę cierpliwości, aby dowiedzieć się różnice.

 35
Author: BenAlabaster,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-21 20:04:25

A może <% Response.WriteFile("myFile.aspx) %>?

Zobacz: https://support.microsoft.com/kb/306575

 11
Author: Stuart,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-12-16 10:56:46

Jeśli używasz ASP.NET MVC następnie Html.RenderPartial jest twoim przyjacielem.

Http://msdn.microsoft.com/en-us/library/system.web.mvc.html.renderpartialextensions.renderpartial.aspx

Widok częściowy może być zaimplementowany jako .ascx lub an .aspx i umieszczenie powyższego wywołania na stronie" primary "w zasadzie mówi" get the output from this partial view and render it here".

Widoki Parial mogą korzystać z danych ViewData, które twój widok główny otrzymał z kontroler.

 8
Author: Martin Peck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-21 19:45:12

Wygląda na to, że to, na co musisz patrzeć, to cała koncepcja MasterPages .

Chyba, że patrzysz tylko na importowanie funkcji i innych narzędzi (Nie zawartości html). Jeśli tak jest (i używasz modelu opartego na kodzie), powinieneś być w stanie załączyć odpowiedni plik lub Przestrzeń nazw za pomocą polecenia import u góry .strona vb (dostosuj odpowiednio do C#).

 1
Author: TheTXI,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-05-21 19:39:26