protected void Page_Load(object sender, EventArgs e) { appData = AppData.GetAppData(); userData = UserData.GetUserData(); // проверка входа в систему if (!userData.LoggedOn) { throw new ScadaException(WebPhrases.NotLoggedOn); } // скрытие сообщения об ошибке pnlErrMsg.HideAlert(); if (IsPostBack) { cmdEnabled = (bool)ViewState["CmdEnabled"]; ctrlCnlNum = (int)ViewState["CtrlCnlNum"]; cmdTypeID = (int)ViewState["CmdTypeID"]; } else { // получение параметров запроса и сохранение во ViewState ctrlCnlNum = Request.QueryString.GetParamAsInt("ctrlCnlNum"); ViewState["CtrlCnlNum"] = ctrlCnlNum; int viewID = Request.QueryString.GetParamAsInt("viewID"); // проверка прав if (!userData.UserRights.GetUiObjRights(viewID).ControlRight || !userData.WebSettings.CmdEnabled) { throw new ScadaException(CommonPhrases.NoRights); } BaseView view = userData.UserViews.GetView(viewID, true); if (!view.ContainsCtrlCnl(ctrlCnlNum)) { throw new ScadaException(CommonPhrases.NoRights); } // перевод веб-страницы Translator.TranslatePage(Page, "Scada.Web.Plugins.Table.WFrmCommand"); // получение канала управления CtrlCnlProps ctrlCnlProps = appData.DataAccess.GetCtrlCnlProps(ctrlCnlNum); ViewState["CmdEnabled"] = ctrlCnlProps != null; cmdTypeID = ctrlCnlProps == null ? BaseValues.CmdTypes.Standard : ctrlCnlProps.CmdTypeID; ViewState["CmdTypeID"] = cmdTypeID; if (ctrlCnlProps == null) { // вывести сообщение, что канал управления не найден lblCtrlCnlNotFound.Text = string.Format(lblCtrlCnlNotFound.Text, ctrlCnlNum); pnlErrMsg.ShowAlert(lblCtrlCnlNotFound); btnSubmit.Enabled = false; } else { // вывод информации по каналу управления pnlInfo.Visible = true; lblCtrlCnl.Text = HttpUtility.HtmlEncode( string.Format("[{0}] {1}", ctrlCnlProps.CtrlCnlNum, ctrlCnlProps.CtrlCnlName)); lblObj.Text = HttpUtility.HtmlEncode(ctrlCnlProps.ObjNum > 0 ? string.Format("[{0}] {1}", ctrlCnlProps.ObjNum, ctrlCnlProps.ObjName) : ""); lblDev.Text = HttpUtility.HtmlEncode(ctrlCnlProps.KPNum > 0 ? string.Format("[{0}] {1}", ctrlCnlProps.KPNum, ctrlCnlProps.KPName) : ""); // установка видимости поля для ввода пароля pnlPassword.Visible = userData.WebSettings.CmdPassword; // настройка элементов управления в зависимости от типа команды if (cmdTypeID == BaseValues.CmdTypes.Standard || cmdTypeID == BaseValues.CmdTypes.Binary) { if (ctrlCnlProps.CmdValArr == null) { if (cmdTypeID == BaseValues.CmdTypes.Standard) { pnlRealValue.Visible = true; } else { pnlData.Visible = true; } } else { repCommands.DataSource = GetDiscreteCmds(ctrlCnlProps.CmdValArr); repCommands.DataBind(); pnlDiscreteValue.Visible = true; btnSubmit.Enabled = false; // disable postback on Enter btnSubmit.CssClass = "hide-exec-btn"; // hide Execute button } } else // BaseValues.CmdTypes.Request { ViewState["KPNum"] = ctrlCnlProps.KPNum; } } } }