2011-11-19 4 views
6

Il Resharper 6 ha una nuova funzionalità molto interessante: se scrivo RedirectToAction o Html.Action in qualsiasi punto di un progetto MVC3, viene sottolineato e usando ctrl-click Posso navigare lì. Mi avvisa anche se non esiste alcuna azione del genere.
Tuttavia, ho un metodo di supporto nel mio BaseController, che accetta un parametro aggiuntivo (da inserire in TempData), quindi chiama RedirectToAction. Sfortunatamente, Resharper non riconosce queste stringhe come nomi di controller e di metodo e non sottolinea.Come sfruttare la funzione "Navigazione verso il metodo del controller" di Resharper

Sto utilizzando la stessa convenzione di denominazione dei parametri di MVC, il mio tipo di ritorno è lo stesso, ma ancora no. È possibile che i metodi MVC siano hard-coded in Resharper? C'è un modo per farlo funzionare anche sul mio metodo?

Image included for clarity

risposta

11

Sì, è possibile farlo utilizzando gli attributi del codice di annotazione di ReSharper.

Per prima cosa, andare su ReSharper-> Opzioni-> Code Annotations, copiare l'implementazione degli attributi negli Appunti e aggiungerli al progetto.

Quindi, contrassegnare i parametri dei metodi con gli attributi necessari. Ad esempio, parametro contenente la stringa di azione, contrassegnare con AspMvcActionAttribute; controller - con AspMvcControllerAttribute e così via.

+0

finora eccezionale. Se ho un sovraccarico che richiede solo la stringa di errori e reindirizza a CurrentController/Index, cosa devo aggiungere al metodo per sottolineare anche questo? – TDaver

+0

Contrassegnare con entrambi gli attributi (AspMvcController e AspMvcAction) stesso metodo. – derigel

+0

come? Ho messo [AspMvcAction ("Index"), AspMvcController] sopra il metodo, ora Resharper dice che non è possibile accedere all'azione "IssueController" dove IssueController è il controller in cui sto provando ad usarlo. Dovrebbe andare a Issue/Index – TDaver