2009-07-06 16 views
7

Ho installato Elmah nel mio sito ASP.NET MVC e vorrei integrare la sua interfaccia con le pagine di amministrazione del sito. Per impostazione predefinita, invochi l'interfaccia con l'url ~/elmah.axd, che viene eseguito all'esterno del sistema MVC. L'installazione richiede di dire a MVC di ignorare il percorso, quindi non c'è alcun controller o qualcosa che sappia su elmah. L'installazione suggerisce una specifica ignorare, anche se è già ignorato per impostazione predefinita:Come integrare axd (Elmah) come componente nel sito ASP.NET MVC

public class MvcApplication : System.Web.HttpApplication { 
    public static void RegisterRoutes(RouteCollection routes) { 
     routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); 
     routes.IgnoreRoute("elmah.axd"); 
... 
} 

mi piacerebbe provare l'integrazione elmah.axd come componente del sito. Sto pensando di avere un controller Elmah con una vista che utilizza l'helper Html.RenderRoute Futures, ma non sono sicuro che cosa argomenti da passare:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2>Elmah</h2> 
    <% Html.RenderRoute(???); %> 
</asp:Content> 

Questo ha senso - c'è un modo per passare il url in Html.RenderRoute? C'è un modo migliore che non usi Html.RenderRoute?

risposta

7

Prova questo nella vostra vista, invece:

<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server"> 
    <h2>Elmah</h2> 
    <iframe src="<%= Url.Content("~/elmah.axd") %>" frameborder=no width=100% scrolling=auto> 
    </iframe> 
</asp:Content> 
+1

Grazie per questo - iframe grandi opere. Sono così preso dai controller che mi sono dimenticato dell'HTML. – keithm