2010-02-19 14 views
5

Vorrei creare un metodo di supporto statico che posso chiamare da una vista.ASP.NET MVC - Ottieni ViewContext dal metodo di supporto

È possibile che un metodo di supporto abbia accesso al ViewContext corrente senza che sia necessario passare esplicitamente ViewContext al metodo come parametro?

Qualcosa come HttpContext.Current tranne ViewContext.

risposta

8
public static class XTenshuns 
{ 
    public static string MyHtmlHelper(this HtmlHelper helper) 
    { 
     // it's right here -> helper.ViewContext 
    } 
} 
+3

Posso farlo solo tramite i metodi di estensione, quindi? Che cosa succede se volevo un semplice metodo di supporto? – Keith

+0

Beh, non poteva essere un semplice metodo di supporto antico. Se si desidera renderlo più leggero, è possibile rimuovere parte del codice da HtmlHelper per eseguire un'operazione simile ... anche in questo caso è necessario aggiungerlo come proprietà da qualche parte, probabilmente una vista personalizzata. No, è stato scritto in questo modo per una ragione. Perché così contro HtmlHelper? – pdr

+0

Voto in aumento per il nome della classe "XTenshuns". –

Problemi correlati