protected void saveNewRule_Click(object sender, EventArgs e) { AreaWarningRule rule = new AreaWarningRule(); rule.EnableToAllTags = forAllTags.SelectedValue == "1"; rule.AreaEventType = byte.Parse(areaEventType.SelectedValue); rule.AreaId = _id; rule.IsDisabled = false; int[] tagidarray = new int[tagSelector.SelectedUserIds.Count()]; ArrayList alHostId = new ArrayList(); int[] hostIdArray = null; sTagID = ""; for (int i = 0; i < tagSelector.SelectedUserIds.Count(); i++) { //根据hostid取得tagid HostTag ht = new HostTag(); ht = HostTag.GetById(tagSelector.SelectedUserIds[i]); if (ht != null) { alHostId.Add(ht.HostId); sTagID += ht.TagId + ","; tagidarray[i] = ht.TagId; } } hostIdArray = (int[])alHostId.ToArray(typeof(int)); AreaWarningRule.sTagID = sTagID; if (!LocatingServiceUtil.IsAvailable()) { AreaWarningRule.InsertAndReturnId(rule); if (rule.EnableToAllTags == false) { //AreaWarningRuleCoverage.SetCoverage(rule.Id, hostIdArray); AreaWarningRuleCoverage.SetCoverage(rule.Id, tagidarray); //AreaWarningRuleCoverage.SetCoverage(rule.Id, tagSelector.SelectedTagIdArray); } } else { IServiceApi serviceApi = LocatingServiceUtil.Instance <IServiceApi>(); EditResult result = serviceApi.InsertWarningRule(rule); rule.Id = result.Id; if (rule.EnableToAllTags == false) { serviceApi.SetWarningRuleCoverage(rule.Id, tagidarray); //serviceApi.SetWarningRuleCoverage(rule.Id, tagSelector.SelectedTagIdArray); } } Terminator.Redirect(Fetch.CurrentUrl); }