2
私はEFではなくプレーンテキストのモデルを持っています。モデルのプロパティごとに更新されたイベントを処理して、変更を記録できるようにする必要があります。asp.net mvc2のモデルのプロパティの変更に応答する
これを実現する方法はありますか?
私はEFではなくプレーンテキストのモデルを持っています。モデルのプロパティごとに更新されたイベントを処理して、変更を記録できるようにする必要があります。asp.net mvc2のモデルのプロパティの変更に応答する
これを実現する方法はありますか?
INotifyPropertyChangedインターフェイスを実装します。
簡単な例:
using System.ComponentModel;
public class MyModel : INotifyPropertyChanged
{
string _myProperty;
public event PropertyChangedEventHandler PropertyChanged;
public string MyProperty
{
get { return _myProperty; }
set
{
_myProperty = value;
NotifyPropertyChanged("MyProperty");
}
}
public void NotifyPropertyChanged(string info)
{
if (PropertyChanged != null)
{
PropertyChanged(this, new PropertyChangedEventArgs(info));
}
}
}
あなたは...
public class Test
{
public static void Main()
{
var model = new MyModel();
model.PropertyChanged += new PropertyChangedEventHandler(LogChange);
model.MyProperty="apples";
model.MyProperty="oranges";
model.MyProperty="pears";
}
public static void LogChange(object sender, PropertyChangedEventArgs args)
{
Console.WriteLine(args.PropertyName + " has changed!");
Console.WriteLine("New value: "
+ sender.GetType().GetProperty(args.PropertyName)
.GetValue(sender, null));
}
}
もASP.NET MVC 2で使用することが可能である。このようにそれを使用することができます。私はEntity Frameworkを使用していません。 – Saravanan
はい、しかし、あなたが使用することができます。プロパティの更新時にモデルがトリガするイベントにサブスクライブするだけです。上記の簡単な例を追加しました。 – fearofawhackplanet
ありがとうございました。本当に便利でした。私はこの種の機能を実装する予定でした。 – Saravanan