テキストファイル(xmlまたはデータベース)にその環境設定を保存している場合は、それらの環境設定をユーザーからロードしてセッションに格納するクラス(例:Utility.UserPreferences)を作成するのが簡単ではありません変数は、それは...ただのアイデア...私はそれを行うだろう方法です、それはシンプルだし、それはだ
// Login sucessfully...
Utility.UserPreferences pref = new Utility.UserPreferences(CurrentUser.ID);
// to retrieve a preference
string language = Utility.UserPreferences.GetPreferences(
Utility.UserPreferences.PreferencesType.Language,
CurrentUser.ID);
...更新に/そして
namespace Utility
{
public class UserPreferences
{
public UserPreferences(int userID)
{
// Load Preferences from text file, xml file or DB
string loadedPreferences = "us|20|yes|no";
HttpContext.Current.Session["userPreferences"] = loadedPreferences;
}
public void Savepreferences(string[] pref, int userID)
{
// Save preferences for that user
}
public static string GetPreferences(PreferencesType type)
{
string[] pref = HttpContext.Current.Session["userPreferences"].ToString().Split('|');
switch (type)
{
case PreferencesType.Language: return pref[0];
case PreferencesType.ShowHowManyResults: return pref[1];
case PreferencesType.ShowNavigation: return pref[2];
case PreferencesType.GetEmailAlerts: return pref[3];
}
}
public enum PreferencesType
{
Language, ShowHowManyResults, ShowNavigation, GetEmailAlerts
}
}
}
取得するために、それらを呼び出す列挙型を使用してあなたはもっと多くの設定を保持するためにクラスを変更する必要があるので...
設定を取得して設定することは問題ではありません。 UserSettingsクラスをasp.netプロファイルプロバイダに接続しました。 問題は、コントローラーからこのクロスコンタミネーションを属性にプルするにはどうすればよいですか。 –