コードビハインドで次のダイレクトイベントハンドラーがあります:
public void changeBlock(string blockname)
{
IntraNetEntities ent = new IntraNetEntities();
var query = from x in ent.Mailings_blocked where x.blocked == blockname select x;
if (query.Count() == 0)
{
Mailings_blocked add = new Mailings_blocked();
add.blocked = blockname;
ent.AddToMailings_blocked(add);
}
else
{
Mailings_blocked del = ent.Mailings_blocked.Single(c => c.blocked == blockname);
ent.DeleteObject(del);
}
ent.SaveChanges();
updateStore();
Grid_Business.RefreshView();
Grid_Mailing.RefreshView();
}
ただし、イベントがトリガーされると、ストアと同じようにデータベースが更新されますが、RefreshView()は正しく実行されません。同じユーティリティ(これはrowCommand)の他のボタンをクリックすると、ビューは1クリック前の目的の状態に更新されます。