In un controller C#, ho una funzione definita con un parametro facoltativo che è impostato sul valore predefinito su null (vedere esempio di codice di seguito). La prima volta che la pagina viene caricata, la funzione viene chiamata e il filtro viene passato come oggetto inizializzato, nonostante il valore predefinito sia null. Mi piacerebbe che fosse nullo la prima volta che la pagina si carica. C'è un modo per fare questo?Parametri facoltativi in C# - Impostazione predefinita di una classe definita dall'utente su null
public ActionResult MyControllerFunction(CustomFilterModel filter = null)
{
if (filter == null)
doSomething(); // We never make it inside this "if" statement.
// Do other things...
}
Questa azione viene risolto mediante il seguente definizione della rotta:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Project", action = "Index", id = UrlParameter.Optional } // Parameter defaults
);
Stai chiamando con un argomento? Probabilmente non lo chiami in un modo che permetta il parametro predefinito. – BradleyDotNET
@BradleyDotNET, TimSchemelter, è un'azione MVC, il metodo viene chiamato dal framework MVC, non dal codice utente –
Che aspetto ha la definizione del percorso? – adam0101