2011-01-07 19 views

Antwort

1

Nein, gibt es nicht. Attribute werden in die Metadaten der resultierenden Assembly eingebunden und alle Werte sollten zur Kompilierungszeit bekannt sein. Sie können nur konstante Werte als Attributeigenschaften übergeben. Und das ist .NET-Beschränkung, nicht MVC.

1

Je nach Situation könnten Sie dem Filter immer eine Art Schlüssel übergeben und dann innerhalb des Filters nach dem entsprechenden Wert in der von Ihnen bevorzugten Datenquelle suchen. Dies würde Ihnen erlauben, nicht-statische Daten in Ihrer Methode zu erhalten, obwohl es nett wäre, wenn es so einfach wäre wie Ihr Beispiel :-)

1

Sie können es nicht übergeben, aber Sie könnten etwas tun wie:

public class TestFilterAttribute : ActionFilterAttribute 
{ 


    public string UserId 
    { 
     get 
     { 
      return AppSettings["UserId"]; 
     } 
    } 



} 
Verwandte Themen