2016-03-21 5 views
0

Ich war die Überprüfung der System.Web.UI.Page Klassenmethoden und hier aufgeführten Instanziierung Beispiele: https://msdn.microsoft.com/en-us/library/system.web.ui.page(v=vs.110).aspxKönnte ein Web.UI.Page-Objekt (C#) eher einer HTML-Datei als einer ASPX-Datei entsprechen?

In diesem Fall wird die Front-End-Datei ist eine ASPX-Datei und ist nicht auf die Back-End-CS- verbunden Datei über diesen Meta-Header: <% @ Page Language = "C#" Codefile = "pageexample.aspx.cs" Inherits = "MyCodeBehindCS" %>

Könnte ein Page-Objekt auch auf eine reine HTML-Datei eingebunden werden? Wenn ja, wie sind sie miteinander verbunden?

+0

Bitte erläutern Sie genau, was Ihr Endziel ist. Möglicherweise suchen Sie nur nach URL-Umschreibungen. – CodeCaster

Antwort

1

Sie können keine Seite erzeugen, die mit "html" endet, weil der IIS wissen muss, mit welcher Art von Seite es sich beschäftigt, um den .Net-Lebenszyklus zu verfolgen.

Sie können jedoch davon ausgehen, dass die Seite bereits eine reine HTML-Datei erzeugt, da dies der einzige Code ist, den die Browser verstehen können. Wenn Sie das gleiche in der Entwickleransicht haben möchten, nutzen Sie nicht die Vorteile von .aspx-Objekten.

Aber natürlich können Sie auch Workarounds finden. Sie können eine HTML-Datei mit JavaScript-Codes erstellen, die die benötigten ASPX-Seiten auslöst und die Ergebnisse einfügt. Nach dem Aussehen des Benutzers wird alles wie eine HTML-Datei aussehen. (Und Javascript ofcourse)

0

Eine Möglichkeit, Beachten Sie aber sind Sie technisch fooling IIS in diesem Fall:

  1. Öffnen Sie IIS-Manager und wählen Sie die Ziel-Website.
  2. öffnen HandlerMappings Applet
  3. Kopieren Sie die Zuordnung in dem Pfad *.aspx in ein Duplikat ist, wo Pfad *.html ist.

Dann einen Handler in der Config hinzufügen IIS zu sagen, was mit diesem Dateityp zu tun:

<httpHandlers> 
    <add path="*.html" verb="*" type="System.Web.UI.PageHandlerFactory" /> 
</httpHandlers> 

Hinweis: Wenn Sie HTML-Seiten ohne serverseitigen Code in ihnen Dies könnte am Ende lästig sein. Sie sind vielleicht besser dran, wenn Sie die Extensions vollständig ausschließen und das Routing verwenden.