为 XPO 中的字段设置值

Setting a value to a field in XPO

如果我想在保存 BO 的字段时为其分配默认值(在我的控制器 class 中),如何使用 C# 和 xaf 实现此目的?哪些事件是相关的?

您可以使用 OnSaving 方法

public class MyObject:XPObject
{
    protected override void OnSaving()
    {
       if(this.Session.IsNewObject(this))
             //SetDefaultValues
       base.OnSaving();
     }
}

我通过将这段代码添加到我覆盖的保存方法中解决了这个问题:

    private void ProcessSelectedObject(System.Collections.IList list)
    {
        foreach (object obj in list)
        {
            if (obj is Contact)
            {
                if (((Contact)obj).Sector == null)
                {
                    ((Contact)(obj)).Sector = "Default";
                }
            }
        }
     }