diff --git a/DataBase/版本日志/SGGLDB_WH_2023-10-18.sql b/DataBase/版本日志/SGGLDB_WH_2023-10-18.sql new file mode 100644 index 00000000..5f5b9e4b --- /dev/null +++ b/DataBase/版本日志/SGGLDB_WH_2023-10-18.sql @@ -0,0 +1,2 @@ +alter table [dbo].[Base_Project] add MonitorPW nvarchar(50) null +alter table [dbo].[Base_Project] add MonitorId nvarchar(50) null \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj index 30cae4d3..175370da 100644 --- a/SGGL/FineUIPro.Web/FineUIPro.Web.csproj +++ b/SGGL/FineUIPro.Web/FineUIPro.Web.csproj @@ -1473,6 +1473,7 @@ + @@ -14184,6 +14185,13 @@ ProjectList.aspx + + ProjectMonitorList.aspx + ASPXCodeBehind + + + ProjectMonitorList.aspx + ProjectSet.aspx ASPXCodeBehind diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx b/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx new file mode 100644 index 00000000..2d93e473 --- /dev/null +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx @@ -0,0 +1,84 @@ +<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="ProjectMonitorList.aspx.cs" Inherits="FineUIPro.Web.ProjectData.ProjectMonitorList" %> + + + + + + 项目清单 + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx.cs new file mode 100644 index 00000000..da09fdbc --- /dev/null +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx.cs @@ -0,0 +1,220 @@ +using BLL; +using Newtonsoft.Json; +using Newtonsoft.Json.Linq; +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Data.SqlClient; +using System.Linq; + +namespace FineUIPro.Web.ProjectData +{ + public partial class ProjectMonitorList : PageBase + { + + /// + /// 定义项 + /// + public string ProjectCode + { + get + { + return (string)ViewState["ProjectCode"]; + } + set + { + ViewState["ProjectCode"] = value; + } + } + public string Id + { + get + { + return (string)ViewState["Id"]; + } + set + { + ViewState["Id"] = value; + } + } + public string Devices + { + get + { + var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault(); + string url = sysSet16.SetValue; + string res = APIGetHttpService.Http(url + "api/v1/user/channellist?token=" + URLToken + "&id=" + Id + "&related=true"); + string devices = ""; + JObject jObject = (JObject)JsonConvert.DeserializeObject(res); + JArray channelList = jObject.Value("ChannelList"); + HashSet set = new HashSet(); + foreach (var c in channelList) + { + set.Add(c["DeviceID"] + ":" + c["ID"]); + } + if (set.Count > 0) + { + devices = string.Join(",", set); + } + return devices; + } + set + { + ViewState["Devices"] = value; + } + } + + /// + /// 定义项 + /// + public string URLToken + { + get + { + return (string)ViewState["URLToken"]; + } + set + { + ViewState["URLToken"] = value; + } + } + + #region 加载 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) + { + if (!IsPostBack) + { + this.ProjectCode = Request.QueryString["ProjectCode"]; + this.URLToken = Request.QueryString["URLToken"]; + this.Id = Request.QueryString["Id"]; + Funs.DropDownPageSize(this.ddlPageSize); + if (this.CurrUser != null && this.CurrUser.PageSize.HasValue) + { + Grid1.PageSize = this.CurrUser.PageSize.Value; + } + this.ddlPageSize.SelectedValue = Grid1.PageSize.ToString(); + // 绑定表格 + + this.BindGrid(); + } + } + #endregion + + #region 绑定数据 + /// + /// 绑定数据 + /// + private void BindGrid() + { + var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault(); + + + + DataTable dt = new DataTable(); + dt.Columns.Add("id"); + dt.Columns.Add("name"); + dt.Columns.Add("serial"); + dt.Columns.Add("deviceName"); + string url = sysSet16.SetValue; + List urls = new List(); + string res = APIGetHttpService.Http(url + "api/v1/device/channeltree?token=" + URLToken); + + List> jsonNvr = JsonConvert.DeserializeObject>>(res); + foreach (Dictionary nvr in jsonNvr) + { + if (string.IsNullOrEmpty(txtProjectName.Text.Trim()) || nvr["customName"].Contains(txtProjectName.Text.Trim())) + { + string jsonCameras = APIGetHttpService.Http(url + "api/v1/device/channeltree?token=" + URLToken + "&serial=" + nvr["serial"]); + List> jsonDiv = JsonConvert.DeserializeObject>>(jsonCameras); + foreach (Dictionary div in jsonDiv) + { + var rowDiv = dt.NewRow(); + rowDiv["id"] = div["id"]; + rowDiv["deviceName"] = nvr["customName"]; + if (!string.IsNullOrEmpty(div["customName"])) + { + rowDiv["name"] = div["customName"]; + } + else + { + rowDiv["name"] = div["name"]; + } + rowDiv["serial"] = div["code"]; + + dt.Rows.Add(rowDiv); + } + } + } + + + + Grid1.RecordCount = dt.Rows.Count; + Grid1.DataSource = this.GetPagedDataTable(Grid1, dt); + Grid1.DataBind(); + if (!string.IsNullOrEmpty(Devices)) + { + Grid1.SelectedRowIDArray = Devices.Split(','); + } + } + #endregion + + #region Grid + /// + /// + /// + /// + /// + protected void Grid1_PageIndexChange(object sender, GridPageEventArgs e) + { + BindGrid(); + } + + /// + /// + /// + /// + /// + protected void ddlPageSize_SelectedIndexChanged(object sender, EventArgs e) + { + + Grid1.PageSize = Convert.ToInt32(ddlPageSize.SelectedValue); + BindGrid(); + } + + protected void Grid1_Sort(object sender, FineUIPro.GridSortEventArgs e) + { + BindGrid(); + } + #endregion + + + protected void btnSearch_Click(object sender, EventArgs e) + { + BindGrid(); + } + + + protected void Grid1_RowSelect(object sender, GridRowSelectEventArgs e) + { + var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault(); + string url = sysSet16.SetValue; + APIGetHttpService.Http(url + "api/v1/user/savechannels?token=" + URLToken + "&id=" + Id + "&channels[]=" + e.RowID); + + } + + + + protected void Grid1_RowDeselect(object sender, GridRowSelectEventArgs e) + { + var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault(); + string url = sysSet16.SetValue; + APIGetHttpService.Http(url + "api/v1/user/removechannels?token=" + URLToken + "&id=" + Id + "&channels[]=" + e.RowID); + } + } +} \ No newline at end of file diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx.designer.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx.designer.cs new file mode 100644 index 00000000..48fc148f --- /dev/null +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectMonitorList.aspx.designer.cs @@ -0,0 +1,116 @@ +//------------------------------------------------------------------------------ +// <自动生成> +// 此代码由工具生成。 +// +// 对此文件的更改可能导致不正确的行为,如果 +// 重新生成代码,则所做更改将丢失。 +// +//------------------------------------------------------------------------------ + +namespace FineUIPro.Web.ProjectData +{ + + + public partial class ProjectMonitorList + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnSearch 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnSearch; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + } +} diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx b/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx index d70af9ef..50d0409f 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx @@ -127,7 +127,10 @@ - + + + diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.cs index 3c28874d..aa89bc1b 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.cs +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.cs @@ -5,19 +5,32 @@ using System.Data.SqlClient; using System.Linq; using System.Text; using BLL; +using Newtonsoft.Json; using AspNet = System.Web.UI.WebControls; namespace FineUIPro.Web.ProjectData { public partial class ProjectSet : PageBase - { - #region 加载 - /// - /// 加载页面 - /// - /// - /// - protected void Page_Load(object sender, EventArgs e) + { + public string URLToken + { + get + { + return (string)ViewState["URLToken"]; + } + set + { + ViewState["URLToken"] = value; + } + } + + #region 加载 + /// + /// 加载页面 + /// + /// + /// + protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { @@ -208,13 +221,68 @@ namespace FineUIPro.Web.ProjectData } } } + /// + /// 关联摄像头 + /// + /// + /// + protected void btnMonitor_Click(object sender, EventArgs e) + { + var sysSet16 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控地址" select x).ToList().FirstOrDefault(); + var sysSet17 = (from x in Funs.DB.Sys_Set where x.SetName == "视频监控密码" select x).ToList().FirstOrDefault(); + if (sysSet16 == null) + { + ShowNotify("视频监控地址未设置!", MessageBoxIcon.Warning); + return; + } + if (sysSet17 == null) + { + ShowNotify("视频监控密码未设置!", MessageBoxIcon.Warning); + return; + } + if (!string.IsNullOrEmpty(Grid1.SelectedRowID)) + { + string url = sysSet16.SetValue; + string username = "admin"; + string password = sysSet17.SetValue; - /// - /// 查看 - /// - /// - /// - protected void btnView_Click(object sender, EventArgs e) + if (string.IsNullOrEmpty(URLToken)) + { + String res = BLL.CommonService.CreateGetHttpResponse(url + "api/v1/login?username=" + username + "&password=" + Funs.EncryptionPassword(password)); + Dictionary dicres = JsonConvert.DeserializeObject>(res); + URLToken = dicres["URLToken"]; + } + var project = Funs.DB.Base_Project.FirstOrDefault(x => x.ProjectId == Grid1.SelectedRowID); + + string resUserInfor = BLL.CommonService.CreateGetHttpResponse(url + "api/v1/user/info?token=" + URLToken + "&username=" + project.ProjectCode); + if ("user not found".Equals(resUserInfor) || "远程服务器返回错误: (400) 错误的请求。".Equals(resUserInfor)) + { + string resUserSave = BLL.CommonService.CreateGetHttpResponse(url + "api/v1/user/save?token=" + URLToken + "&ID=0&Username=" + project.ProjectCode + "&Role=操作员,观众&Enable=true"); + Dictionary dicUserSave = JsonConvert.DeserializeObject>(resUserSave); + project.MonitorId = dicUserSave["ID"]; + string newPassWord = Funs.EncryptionPassword(DateTime.Now.Ticks.ToString()); + newPassWord = newPassWord.Substring(newPassWord.Length - 9, 8); + string resResPS = BLL.CommonService.CreateGetHttpResponse(url + "api/v1/user/resetpassword?token=" + URLToken + "&id=" + dicUserSave["ID"] + "&password=" + newPassWord); + project.MonitorPW = newPassWord; + + Funs.DB.SubmitChanges(); + } + + PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectMonitorList.aspx?ProjectCode={0}&Id={1}&URLToken={2}", project.ProjectCode, project.MonitorId, URLToken, "查看 - "))); + + } + else + { + ShowNotify("请选择项目进入!", MessageBoxIcon.Warning); + } + } + + /// + /// 查看 + /// + /// + /// + protected void btnView_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(Grid1.SelectedRowID)) { PageContext.RegisterStartupScript(Window1.GetShowReference(String.Format("ProjectSetMap.aspx?projectId={0}&value=0", Grid1.SelectedRowID, "查看 - "))); } diff --git a/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.designer.cs b/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.designer.cs index b8728ef2..91108d9f 100644 --- a/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.designer.cs +++ b/SGGL/FineUIPro.Web/ProjectData/ProjectSet.aspx.designer.cs @@ -7,180 +7,191 @@ // //------------------------------------------------------------------------------ -namespace FineUIPro.Web.ProjectData { - - - public partial class ProjectSet { - - /// - /// form1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::System.Web.UI.HtmlControls.HtmlForm form1; - - /// - /// PageManager1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.PageManager PageManager1; - - /// - /// Panel1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Panel Panel1; - - /// - /// Grid1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Grid Grid1; - - /// - /// Toolbar2 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Toolbar Toolbar2; - - /// - /// ckState 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.RadioButtonList ckState; - - /// - /// txtProjectName 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.TextBox txtProjectName; - - /// - /// btnNew 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnNew; - - /// - /// btnOut 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Button btnOut; - - /// - /// lblNumber 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::System.Web.UI.WebControls.Label lblNumber; - - /// - /// ToolbarSeparator1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; - - /// - /// ToolbarText1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.ToolbarText ToolbarText1; - - /// - /// ddlPageSize 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.DropDownList ddlPageSize; - - /// - /// Window1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Window Window1; - - /// - /// Menu1 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.Menu Menu1; - - /// - /// btnMenuEdit 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.MenuButton btnMenuEdit; - - /// - /// btnEnter 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.MenuButton btnEnter; - - /// - /// btnView 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.MenuButton btnView; - - /// - /// btnMenuDelete 控件。 - /// - /// - /// 自动生成的字段。 - /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 - /// - protected global::FineUIPro.MenuButton btnMenuDelete; - } +namespace FineUIPro.Web.ProjectData +{ + + + public partial class ProjectSet + { + + /// + /// form1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.HtmlControls.HtmlForm form1; + + /// + /// PageManager1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.PageManager PageManager1; + + /// + /// Panel1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Panel Panel1; + + /// + /// Grid1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Grid Grid1; + + /// + /// Toolbar2 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Toolbar Toolbar2; + + /// + /// ckState 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.RadioButtonList ckState; + + /// + /// txtProjectName 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.TextBox txtProjectName; + + /// + /// btnNew 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnNew; + + /// + /// btnOut 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Button btnOut; + + /// + /// lblNumber 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::System.Web.UI.WebControls.Label lblNumber; + + /// + /// ToolbarSeparator1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarSeparator ToolbarSeparator1; + + /// + /// ToolbarText1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.ToolbarText ToolbarText1; + + /// + /// ddlPageSize 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.DropDownList ddlPageSize; + + /// + /// Window1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Window Window1; + + /// + /// Menu1 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.Menu Menu1; + + /// + /// btnMenuEdit 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuEdit; + + /// + /// btnEnter 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnEnter; + + /// + /// btnMonitor 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMonitor; + + /// + /// btnView 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnView; + + /// + /// btnMenuDelete 控件。 + /// + /// + /// 自动生成的字段。 + /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。 + /// + protected global::FineUIPro.MenuButton btnMenuDelete; + } } diff --git a/SGGL/FineUIPro.Web/indexProject.aspx b/SGGL/FineUIPro.Web/indexProject.aspx index 2b62a95f..4436757e 100644 --- a/SGGL/FineUIPro.Web/indexProject.aspx +++ b/SGGL/FineUIPro.Web/indexProject.aspx @@ -448,6 +448,13 @@ +