string type = String.Empty; // 对象类型
        protected void Page_Load(object sender, EventArgs e)
        {
            op   = RequestData.Get <string>("op");
            id   = RequestData.Get <string>("id");
            type = RequestData.Get <string>("type");
            SupervisionDC ent = null;

            if (!string.IsNullOrEmpty(id))
            {
                ent = SupervisionDC.Find(id);
            }
            switch (RequestActionString)
            {
            case "update":
                ent = this.GetMergedData <SupervisionDC>();
                ent.DoUpdate();
                break;

            case "create":
                ent = this.GetPostedData <SupervisionDC>();
                ent.DoCreate();
                break;

            default:
                IList <DangerSource> dsEnts = DangerSource.FindAll();
                PageState.Add("DSEnts", dsEnts);
                SetFormData(ent);
                if (ent != null)
                {
                    string sql = @"select * from NCRL_SP..DangerSource where PatIndex('%'+Id+'%','" + ent.DangerSourceIds + "')>0  ";
                    PageState.Add("DataList", DataHelper.QueryDictList(sql));
                }
                break;
            }
        }
    public void TakeDamage(DangerSource source)
    {
        if (_invulnerable > 0)
        {
            return;
        }

        if (source == DangerSource.QTE_INPUTTED_IN_ERROR || source == DangerSource.QTE_EXCEEDED_TIME_LIMIT)
        {
            _qteSuccessCombo = 0;
        }

        _danger++;
        if (_danger > MaxDanger)
        {
            _danger = MaxDanger;
        }

        _invulnerable = InvulnerabilityDuration;

        WhenDangerChanges();
    }