Ich möchte alle URLs in einer Ansicht als absolute URLs rendern, wenn der Anfrageverweis einen anderen Ursprung hat als die Anfrage itslef.Rendern Sie alle Inhalts- und Aktions-URLs als absolute URLs, ohne die Ansichtsseite zu ändern.
Also, wenn Website http://www.hostsite.com
hat eine Seite, die Inhalte von http://www.example.com/controller/action
zieht dann folgenden wird die viewpage
@using (Ajax.BeginForm("Save", new AjaxOptions {}))
{
@Html.ActionLink("More..", "More")
<img src="~/Content/img.jpg" />
<input type="submit" value="Save" />
}
sollte als
<form action="http://www.example.com/controller/Save" data-ajax="true" id="form0" method="post">
<a href="http://www.example.com/controller/More">More...</a>
<img src="http://www.example.com/Content/img.jpg" />
<input type="submit" value="Save" />
</form>
Hinweis die Verwendung von "~ /" Urls in html machen sollte auch sei fest zu absolut.
Wenn möglich, möchte ich dies erreichen, indem Sie einige Basis-URL-generierenden Code überschreiben, anstatt zusätzliche Helfer zu erstellen.
Ist es möglich, die URL-Ausgabefunktionalität von mvc zu überschreiben und nicht ein einzelnes Detail in den Ansichtsseiten selbst zu ändern (wie mit benutzerdefinierten Helfern)? Wenn ja, wo sind die Hook-Punkte, mit denen ich dieses Ausgabeverhalten übersteuern kann?
Ich möchte speziell nicht 'Helfer' Methoden erstellen. Ich möchte das Verhalten der ViewEngine und der zugehörigen Klassen wie ViewPage überschreiben. –
Die View-Engine ist verantwortlich für das Rendern der Views, wir können den Pfad der Views überschreiben, Wir können den physischen Ort von Views ändern, dh wir können die Views in virtuellen Datei-Ort zB auf Database Server oder sogar in DLLs anstelle von physischem Dateispeicher platzieren . Aber das Verhalten, das Sie erreichen möchten, liegt nicht in der Verantwortung von View Engine. Wie Steuerelemente gerendert werden und welcher HTML-Code für Steuerelemente generiert wird, wird von Hilfsklassen gehandhabt und verwaltet. Also muss das gleiche übersteuern. –
'
' wird nicht von Helfern gerendert –