Domanda

Sto creando una specie di directory con i membri e i loro profili. Sto usando il framework MVC in .net.

Ho una vista che ti permette di trovare membri in base ad alcuni criteri, quindi il mio controller ha un risultato di azione Find (), poi un altro che accetta il verbo post. Quindi, somesite.com/members/find visualizza gli strumenti di ricerca, quindi una volta inviato il modulo lo stesso URL visualizza i risultati. Ora voglio che il nome del membro si colleghi a un altro metodo actionresult nello stesso controller per visualizzare il proprio profilo e voglio che gli URL seguano questo schema somesite.com/members/{username}.

Come posso creare un metodo controller che lo farà? C'è dell'altro?
Devo mappare nuovi percorsi in global.asax?

Grazie per l'aiuto.

È stato utile?

Soluzione

Innanzitutto crea il tuo metodo di azione sul controller in questo modo:

public ActionResult Profile(string userName)
{
    // Do What you want with the userName
    throw new System.NotImplementedException();
}

Quindi crea una nuova rotta nel tuo file global.asax per gestire somesite.com/members/{username} in questo modo:

routes.MapRoute(
    "Profile",
    "members/{username}",
    new { controller = "Members", action = "Profile", userName = "" }
);

Questo è tutto. Non sono sicuro di come si chiama il controller che ospiterà il metodo di azione. Ho assunto i membri.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top