En C#, comment transmettre les objets Session [] et Request [] à une méthode?Passer la session [] et la demande [] aux méthodes en C#
Je voudrais utiliser une méthode pour analyser les paramètres de session et de requête pour une page .aspx afin de réduire la taille de ma méthode Page_Load. Je passe pas mal de variables et je dois supporter les méthodes POST et GET. Pour la plupart des appels, toutes les variables ne sont pas présentes, donc je dois tester chaque variable de plusieurs façons, et le code devient long ...
C'est ce que j'essaie de faire, mais je n'arrive pas à identifier correctement la session et demande de paramaters (ce code ne compilera pas, car les tableaux sont indexés par numéro)
static string getParam(
System.Web.SessionState.HttpSessionState[] Session,
System.Web.HttpRequest[] Request,
string id)
{
string rslt = "";
try
{
rslt = Session[id].ToString();
}
catch
{
try
{
rslt = Request[id].ToString();
}
catch { }
}
return rslt;
}
de Page_Load, je veux appeler cette méthode comme suit pour récupérer le « mODE » paramater:
string rslt;
rslt = getParam(Session, Request, "MODE");
Merci!
Je n'aurais jamais pensé l'essayer avant d'avoir vu votre message. Mais c'est aussi une syntaxe valide. retour session [id] ?? demande [id] ?? string.Empty; –
@gbogumil - Oui, c'est une syntaxe valide, mais elle ne fait pas exactement la même chose que le code ci-dessus. Notez que (selon la logique dans le post original) les valeurs non nulles doivent être converties en une chaîne. J'aurais pu faire '(session [id] ?? request [id] ?? chaîne.Empty) .ToString()' si ... –
point pris.Si j'avais codé la totalité de la fonction, elle n'aurait pas été compilée car l'objet ne pourrait pas être renvoyé sous forme de chaîne. Le ToString() le fait. J'étais juste heureux d'apprendre une nouvelle syntaxe valide. –