[Serializable]
public class KeyValue : ProfileBase
{
public KeyValue() { }
public KeyValuePair<string, string> KV
{
get { return (KeyValuePair<string, string>)base["KV"]; }
set { base["KV"] = value; }
}
}
public void SaveProfileData()
{
KeyValue profile = (KeyValue) HttpContext.Current.Profile;
profile.Name.Add(File);
profile.KV = new KeyValuePair<string, string>("key", "val");
profile.Save();
}
public void LoadProfile()
{
KeyValue profile = (KeyValue) HttpContext.Current.Profile;
string k = profile.KV.Key;
string v = profile.KV.Value;
Files = profile.Name;
}
私はasp.netのuserprofileに保存しようとしていますが、それも保存しますが、私はそれにアクセスしているときに、キーと値の両方のプロパティを表示しますnull、誰かが私が間違っている場所を教えてください?KeyValuePair <K,V>をユーザープロファイルに保存できますか?
LoadProfile()
kおよびvはヌルです。
のWeb.config
<profile enabled="true" inherits="SiteBuilder.Models.KeyValue">
<providers>
<clear/>
<add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/" />
</providers>
</profile>
私はあなたのプロパティから別の名前を付けることを試みます。つまり、 '[" _KV "]'などを保存して読んでみてください。なぜそれが違いがあるのか想像できませんが、 – Rup
新しいMVC3プロジェクトでこれを再現することはできません(つまり正常に動作します)。あなたは完全なテストケースを提供できますか?それ以外の場合は、フローを確認することをお勧めします。おそらくLoadProfile()を呼び出している時点で値がありません。 – georgiosd