Eclipse Android 代码自动提示功能

  对于一个后端管理系统,最重要内容之一的就是登陆页了,无论是安全验证、用户在线记录、相关日志记录、单用户或多用户使用帐号控制等,都是在这个页面进行处理的。

  1、在解决方案中创建一个Web项目,并将它设置为启动项

  

  2、添加引用

  

  

  

  3、添加WebManage文件夹与Login.aspx文件

  

  

  4、添加登陆页面HTML代码  

 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="Solution.Web.Managers.WebManage.Login" %>
2
3 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4 <html xmlns="http://www.w3.org/1999/xhtml">
5 <head id="Head1" runat="server">
6 <title>从零开始编写自己的C#框架——后端管理系统</title>
7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8 <link rel="stylesheet" href="Css/login.css" />
9 <script type="text/javascript">
10 function Random(n) { return (Math.floor(Math.random() * n)); };
11
12 function AjaxRnd() { return new Date().getTime() + ‘‘ + Random(10000); };
13
14 function ShowKey() {
15 document.getElementById("img_verifycode").src = "Base/Vcode.ashx?a=" + AjaxRnd();
16 };
17 </script>
18 </head>
19 <body>
20 <!--CENTER开始-->
21 <div class="login-container">
22 <form id="form1" runat="server">
23 <div class="login-header">
24 <h3>
25 Login</h3>
26 </div>
27 <div id="login-content" class="clearfix">
28 <div>
29 <label>
30 用户名</label>
31 <div>
32 <asp:TextBox runat="server" ID="txtusername" CssClass="input w92" />
33 </div>
34 <label>
35 密码</label>
36 <div>
37 <asp:TextBox runat="server" ID="txtpass" CssClass="input w92" TextMode="Password" />
38 </div>
39 <label>
40 验证码</label>
41 <div>
42 <asp:TextBox runat="server" ID="txtcode" CssClass="input w100 fl" />
43 <asp:Image ID="img_verifycode" runat="server" onclick="ShowKey();" ToolTip="更换验证码"
44 ImageUrl="Base/Vcode.ashx" />
45 <div class="fc"></div>
46 </div>
47 </div>
48 <div>
49 <asp:Button ID="BtnLogin" CssClass="btn" runat="server" OnClick="BtnLogin_Click"
50 Text="登陆" />
51 </div>
52 </div>
53 </form>
54 </div>
55 <!--CENTER结束-->
56 </body>
57 </html>

  css样式在本文后面的解决方案中有

  浏览一下效果

  

  5、后端管理系统登陆验证流程图

  我们根据下面的流程图来编写登陆页代码

  6、添加在线列表数据表并修改管事员表相关字段

  执行下面SQL语句

  1 /****** Object:  Table [dbo].[Manager]    Script Date: 2014/6/4 22:27:52  ******/
2 if exists (select * from dbo.sysobjects where id = object_id(N‘[dbo].[Manager]‘) and OBJECTPROPERTY(id, N‘IsUserTable‘) = 1)
3 drop table [dbo].[Manager]
4 GO
5
6 /****** Object: Table [dbo].[Manager] Script Date: 2014/6/4 22:27:52 ******/
7 CREATE TABLE [dbo].[Manager] (
8 [Id] [int] IDENTITY (1, 1) NOT NULL,
9 [LoginName] [nvarchar] (20) NOT NULL,
10 [LoginPass] [nvarchar] (32) NOT NULL,
11 [LoginTime] [datetime] NOT NULL,
12 [LoginIp] [nvarchar] (30) NOT NULL,
13 [LoginCount] [int] NOT NULL,
14 [CreateTime] [datetime] NOT NULL,
15 [UpdateTime] [datetime] NOT NULL,
16 [IsMultiUser] [tinyint] NOT NULL,
17 [Branch_Id] [int] NOT NULL,
18 [Branch_Code] [nvarchar] (20) NOT NULL,
19 [Branch_Name] [nvarchar] (25) NOT NULL,
20 [Position_Id] [nvarchar] (100) NOT NULL,
21 [Position_Name] [nvarchar] (30) NOT NULL,
22 [IsWork] [tinyint] NOT NULL,
23 [IsEnable] [tinyint] NOT NULL,
24 [CName] [nvarchar] (20) NOT NULL,
25 [EName] [nvarchar] (50) NOT NULL,
26 [PhotoImg] [nvarchar] (250) NOT NULL,
27 [Sex] [nvarchar] (4) NOT NULL,
28 [Birthday] [nvarchar] (20) NOT NULL,
29 [NativePlace] [nvarchar] (100) NOT NULL,
30 [NationalName] [nvarchar] (50) NOT NULL,
31 [Record] [nvarchar] (25) NOT NULL,
32 [GraduateCollege] [nvarchar] (30) NOT NULL,
33 [GraduateSpecialty] [nvarchar] (50) NOT NULL,
34 [Tel] [nvarchar] (30) NOT NULL,
35 [Mobile] [nvarchar] (30) NOT NULL,
36 [Email] [nvarchar] (50) NOT NULL,
37 [Qq] [nvarchar] (30) NOT NULL,
38 [Msn] [nvarchar] (30) NOT NULL,
39 [Address] [nvarchar] (100) NOT NULL,
40 [Content] [ntext] NOT NULL,
41 [Manager_Id] [int] NOT NULL,
42 [Manager_CName] [nvarchar] (20) NOT NULL
43 ) ON [PRIMARY]
44 GO
45
46 ALTER TABLE [dbo].[Manager] WITH NOCHECK ADD
47 CONSTRAINT [PK_Manager] PRIMARY KEY CLUSTERED
48 (
49 [Id]
50 ) ON [PRIMARY]
51 GO
52
53 ALTER TABLE [dbo].[Manager] ADD
54 CONSTRAINT [DF_Manager_LoginName] DEFAULT (‘‘) FOR [LoginName],
55 CONSTRAINT [DF_Manager_LoginPass] DEFAULT (‘‘) FOR [LoginPass],
56 CONSTRAINT [DF_Manager_LoginTime] DEFAULT (getdate()) FOR [LoginTime],
57 CONSTRAINT [DF_Manager_LoginIp] DEFAULT (‘‘) FOR [LoginIp],
58 CONSTRAINT [DF_Manager_LoginCount] DEFAULT (0) FOR [LoginCount],
59 CONSTRAINT [DF_Manager_CreateTime] DEFAULT (getdate()) FOR [CreateTime],
60 CONSTRAINT [DF_Manager_UpdateTime] DEFAULT (getdate()) FOR [UpdateTime],
61 CONSTRAINT [DF_Manager_IsMultiUser] DEFAULT (0) FOR [IsMultiUser],
62 CONSTRAINT [DF_Manager_Branch_Id] DEFAULT (0) FOR [Branch_Id],
63 CONSTRAINT [DF_Manager_Branch_Code] DEFAULT (‘‘) FOR [Branch_Code],
64 CONSTRAINT [DF_Manager_Branch_Name] DEFAULT (‘‘) FOR [Branch_Name],
65 CONSTRAINT [DF_Manager_Position_Id] DEFAULT (‘‘) FOR [Position_Id],
66 CONSTRAINT [DF_Manager_Position_Name] DEFAULT (‘‘) FOR [Position_Name],
67 CONSTRAINT [DF_Manager_IsWork] DEFAULT (0) FOR [IsWork],
68 CONSTRAINT [DF_Manager_IsEnable] DEFAULT (1) FOR [IsEnable],
69 CONSTRAINT [DF_Manager_CName] DEFAULT (‘‘) FOR [CName],
70 CONSTRAINT [DF_Manager_EName] DEFAULT (‘‘) FOR [EName],
71 CONSTRAINT [DF_Manager_PhotoImg] DEFAULT (‘‘) FOR [PhotoImg],
72 CONSTRAINT [DF_Manager_Sex] DEFAULT (‘‘) FOR [Sex],
73 CONSTRAINT [DF_Manager_Birthday] DEFAULT (‘‘) FOR [Birthday],
74 CONSTRAINT [DF_Manager_NativePlace] DEFAULT (‘‘) FOR [NativePlace],
75 CONSTRAINT [DF_Manager_NationalName] DEFAULT (‘‘) FOR [NationalName],
76 CONSTRAINT [DF_Manager_Record] DEFAULT (‘‘) FOR [Record],
77 CONSTRAINT [DF_Manager_GraduateCollege] DEFAULT (‘‘) FOR [GraduateCollege],
78 CONSTRAINT [DF_Manager_GraduateSpecialty] DEFAULT (‘‘) FOR [GraduateSpecialty],
79 CONSTRAINT [DF_Manager_Tel] DEFAULT (‘‘) FOR [Tel],
80 CONSTRAINT [DF_Manager_Mobile] DEFAULT (‘‘) FOR [Mobile],
81 CONSTRAINT [DF_Manager_Email] DEFAULT (‘‘) FOR [Email],
82 CONSTRAINT [DF_Manager_Qq] DEFAULT (‘‘) FOR [Qq],
83 CONSTRAINT [DF_Manager_Msn] DEFAULT (‘‘) FOR [Msn],
84 CONSTRAINT [DF_Manager_Address] DEFAULT (‘‘) FOR [Address],
85 CONSTRAINT [DF_Manager_Content] DEFAULT (‘‘) FOR [Content],
86 CONSTRAINT [DF_Manager_Manager_Id] DEFAULT (0) FOR [Manager_Id],
87 CONSTRAINT [DF_Manager_Manager_CName] DEFAULT (‘‘) FOR [Manager_CName]
88 GO
89
90 CREATE INDEX [IX_Manager__LoginName] ON [dbo].[Manager]([LoginName]) ON [PRIMARY]
91 GO
92
93 CREATE INDEX [IX_Manager__LoginTime] ON [dbo].[Manager]([LoginTime]) ON [PRIMARY]
94 GO
95
96 CREATE INDEX [IX_Manager__CreateTime] ON [dbo].[Manager]([CreateTime]) ON [PRIMARY]
97 GO
98
99 CREATE INDEX [IX_Manager__UpdateTime] ON [dbo].[Manager]([UpdateTime]) ON [PRIMARY]
100 GO
101
102 CREATE INDEX [IX_Manager__Branch_Id] ON [dbo].[Manager]([Branch_Id]) ON [PRIMARY]
103 GO
104
105 CREATE INDEX [IX_Manager__Branch_Code] ON [dbo].[Manager]([Branch_Code]) ON [PRIMARY]
106 GO
107
108 CREATE INDEX [IX_Manager__Position_Id] ON [dbo].[Manager]([Position_Id]) ON [PRIMARY]
109 GO
110
111 CREATE INDEX [IX_Manager__IsWork] ON [dbo].[Manager]([IsWork]) ON [PRIMARY]
112 GO
113
114 CREATE INDEX [IX_Manager__IsEnable] ON [dbo].[Manager]([IsEnable]) ON [PRIMARY]
115 GO
116
117 CREATE INDEX [IX_Manager__CName] ON [dbo].[Manager]([CName]) ON [PRIMARY]
118 GO
119
120 CREATE INDEX [IX_Manager__EName] ON [dbo].[Manager]([EName]) ON [PRIMARY]
121 GO
122
123 CREATE INDEX [IX_Manager__Sex] ON [dbo].[Manager]([Sex]) ON [PRIMARY]
124 GO
125
126 exec sp_addextendedproperty N‘MS_Description‘, N‘主键Id‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Id‘
127 GO
128
129 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆账号‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘LoginName‘
130 GO
131
132 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆密码‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘LoginPass‘
133 GO
134
135 exec sp_addextendedproperty N‘MS_Description‘, N‘最后登陆时间‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘LoginTime‘
136 GO
137
138 exec sp_addextendedproperty N‘MS_Description‘, N‘最后登陆IP‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘LoginIp‘
139 GO
140
141 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆次数‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘LoginCount‘
142 GO
143
144 exec sp_addextendedproperty N‘MS_Description‘, N‘注册时间‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘CreateTime‘
145 GO
146
147 exec sp_addextendedproperty N‘MS_Description‘, N‘资料最后修改日期‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘UpdateTime‘
148 GO
149
150 exec sp_addextendedproperty N‘MS_Description‘, N‘是否允许同一帐号多人使用,0=只能单个在线,1=可以多人同时在线‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘IsMultiUser‘
151 GO
152
153 exec sp_addextendedproperty N‘MS_Description‘, N‘所属部门ID‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Branch_Id‘
154 GO
155
156 exec sp_addextendedproperty N‘MS_Description‘, N‘所属部门编号,用户只能正式归属于一个部门‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Branch_Code‘
157 GO
158
159 exec sp_addextendedproperty N‘MS_Description‘, N‘部门名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Branch_Name‘
160 GO
161
162 exec sp_addextendedproperty N‘MS_Description‘, N‘用户职位ID‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Position_Id‘
163 GO
164
165 exec sp_addextendedproperty N‘MS_Description‘, N‘职位名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Position_Name‘
166 GO
167
168 exec sp_addextendedproperty N‘MS_Description‘, N‘0=离职,1=就职‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘IsWork‘
169 GO
170
171 exec sp_addextendedproperty N‘MS_Description‘, N‘账号是否启用,1=true(启用),0=false(禁用)‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘IsEnable‘
172 GO
173
174 exec sp_addextendedproperty N‘MS_Description‘, N‘用户中文名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘CName‘
175 GO
176
177 exec sp_addextendedproperty N‘MS_Description‘, N‘用户英文名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘EName‘
178 GO
179
180 exec sp_addextendedproperty N‘MS_Description‘, N‘头像图片路径‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘PhotoImg‘
181 GO
182
183 exec sp_addextendedproperty N‘MS_Description‘, N‘性别(0=未知,1=男,2=女)‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Sex‘
184 GO
185
186 exec sp_addextendedproperty N‘MS_Description‘, N‘出生日期‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Birthday‘
187 GO
188
189 exec sp_addextendedproperty N‘MS_Description‘, N‘籍贯‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘NativePlace‘
190 GO
191
192 exec sp_addextendedproperty N‘MS_Description‘, N‘民族‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘NationalName‘
193 GO
194
195 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--学历‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Record‘
196 GO
197
198 exec sp_addextendedproperty N‘MS_Description‘, N‘毕业学校‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘GraduateCollege‘
199 GO
200
201 exec sp_addextendedproperty N‘MS_Description‘, N‘毕业专业‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘GraduateSpecialty‘
202 GO
203
204 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--联系电话‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Tel‘
205 GO
206
207 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--移动电话‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Mobile‘
208 GO
209
210 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--联系邮箱‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Email‘
211 GO
212
213 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--QQ‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Qq‘
214 GO
215
216 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--Msn‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Msn‘
217 GO
218
219 exec sp_addextendedproperty N‘MS_Description‘, N‘个人--通讯地址‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Address‘
220 GO
221
222 exec sp_addextendedproperty N‘MS_Description‘, N‘备注‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Content‘
223 GO
224
225 exec sp_addextendedproperty N‘MS_Description‘, N‘修改人员id‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Manager_Id‘
226 GO
227
228 exec sp_addextendedproperty N‘MS_Description‘, N‘修改人中文名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘Manager‘, N‘column‘, N‘Manager_CName‘
229 GO
230
231 /****** Object: Table [dbo].[OnlineUsers] Script Date: 2014/6/4 22:27:52 ******/
232 if exists (select * from dbo.sysobjects where id = object_id(N‘[dbo].[OnlineUsers]‘) and OBJECTPROPERTY(id, N‘IsUserTable‘) = 1)
233 drop table [dbo].[OnlineUsers]
234 GO
235
236 /****** Object: Table [dbo].[OnlineUsers] Script Date: 2014/6/4 22:27:52 ******/
237 CREATE TABLE [dbo].[OnlineUsers] (
238 [Id] [int] IDENTITY (1, 1) NOT NULL,
239 [UserHashKey] [nvarchar] (50) NOT NULL,
240 [Manager_Id] [int] NOT NULL,
241 [Manager_LoginName] [nvarchar] (20) NOT NULL,
242 [Manager_LoginPass] [nvarchar] (32) NOT NULL,
243 [Manager_CName] [nvarchar] (20) NOT NULL,
244 [LoginTime] [datetime] NOT NULL,
245 [LoginIp] [nvarchar] (30) NOT NULL,
246 [UserKey] [nvarchar] (32) NOT NULL,
247 [Md5] [nvarchar] (32) NOT NULL,
248 [UpdateTime] [datetime] NOT NULL,
249 [Sex] [nvarchar] (4) NOT NULL,
250 [Branch_Id] [int] NOT NULL,
251 [Branch_Code] [nvarchar] (20) NOT NULL,
252 [Branch_Name] [nvarchar] (25) NOT NULL,
253 [Position_Id] [nvarchar] (100) NOT NULL,
254 [Position_Name] [nvarchar] (30) NOT NULL,
255 [CurrentPage] [nvarchar] (100) NOT NULL,
256 [CurrentPageTitle] [nvarchar] (250) NOT NULL,
257 [SessionId] [nvarchar] (100) NOT NULL,
258 [UserAgent] [nvarchar] (1000) NOT NULL,
259 [OperatingSystem] [nvarchar] (50) NOT NULL,
260 [TerminalType] [int] NOT NULL,
261 [BrowserName] [nvarchar] (50) NOT NULL,
262 [BrowserVersion] [nvarchar] (10) NOT NULL
263 ) ON [PRIMARY]
264 GO
265
266 ALTER TABLE [dbo].[OnlineUsers] WITH NOCHECK ADD
267 CONSTRAINT [PK_OnlineUsers] PRIMARY KEY CLUSTERED
268 (
269 [Id]
270 ) ON [PRIMARY]
271 GO
272
273 ALTER TABLE [dbo].[OnlineUsers] ADD
274 CONSTRAINT [DF_OnlineUsers_UserHashKey] DEFAULT (‘‘) FOR [UserHashKey],
275 CONSTRAINT [DF_OnlineUsers_Manager_Id] DEFAULT (0) FOR [Manager_Id],
276 CONSTRAINT [DF_OnlineUsers_Manager_LoginName] DEFAULT (‘‘) FOR [Manager_LoginName],
277 CONSTRAINT [DF_OnlineUsers_Manager_LoginPass] DEFAULT (‘‘) FOR [Manager_LoginPass],
278 CONSTRAINT [DF_OnlineUsers_Manager_CName] DEFAULT (‘‘) FOR [Manager_CName],
279 CONSTRAINT [DF_OnlineUsers_LoginTime] DEFAULT (getdate()) FOR [LoginTime],
280 CONSTRAINT [DF_OnlineUsers_LoginIp] DEFAULT (‘‘) FOR [LoginIp],
281 CONSTRAINT [DF_OnlineUsers_UserKey] DEFAULT (‘‘) FOR [UserKey],
282 CONSTRAINT [DF_OnlineUsers_Md5] DEFAULT (‘‘) FOR [Md5],
283 CONSTRAINT [DF_OnlineUsers_UpdateTime] DEFAULT (getdate()) FOR [UpdateTime],
284 CONSTRAINT [DF_OnlineUsers_Sex] DEFAULT (‘‘) FOR [Sex],
285 CONSTRAINT [DF_OnlineUsers_Branch_Id] DEFAULT (0) FOR [Branch_Id],
286 CONSTRAINT [DF_OnlineUsers_Branch_Code] DEFAULT (‘‘) FOR [Branch_Code],
287 CONSTRAINT [DF_OnlineUsers_Branch_Name] DEFAULT (‘‘) FOR [Branch_Name],
288 CONSTRAINT [DF_OnlineUsers_Position_Id] DEFAULT (‘‘) FOR [Position_Id],
289 CONSTRAINT [DF_OnlineUsers_Position_Name] DEFAULT (‘‘) FOR [Position_Name],
290 CONSTRAINT [DF_OnlineUsers_CurrentPage] DEFAULT (‘‘) FOR [CurrentPage],
291 CONSTRAINT [DF_OnlineUsers_CurrentPageTitle] DEFAULT (‘‘) FOR [CurrentPageTitle],
292 CONSTRAINT [DF_OnlineUsers_SessionId] DEFAULT (‘‘) FOR [SessionId],
293 CONSTRAINT [DF_OnlineUsers_UserAgent] DEFAULT (‘‘) FOR [UserAgent],
294 CONSTRAINT [DF_OnlineUsers_OperatingSystem] DEFAULT (‘‘) FOR [OperatingSystem],
295 CONSTRAINT [DF_OnlineUsers_TerminalType] DEFAULT (0) FOR [TerminalType],
296 CONSTRAINT [DF_OnlineUsers_BrowserName] DEFAULT (‘‘) FOR [BrowserName],
297 CONSTRAINT [DF_OnlineUsers_BrowserVersion] DEFAULT (‘‘) FOR [BrowserVersion]
298 GO
299
300 CREATE INDEX [IX_OnlineUsers__Manager_Id] ON [dbo].[OnlineUsers]([Manager_Id]) ON [PRIMARY]
301 GO
302
303 CREATE INDEX [IX_OnlineUsers__Manager_LoginName] ON [dbo].[OnlineUsers]([Manager_LoginName]) ON [PRIMARY]
304 GO
305
306 CREATE INDEX [IX_OnlineUsers__Manager_CName] ON [dbo].[OnlineUsers]([Manager_CName]) ON [PRIMARY]
307 GO
308
309 CREATE INDEX [IX_OnlineUsers__LoginTime] ON [dbo].[OnlineUsers]([LoginTime]) ON [PRIMARY]
310 GO
311
312 CREATE INDEX [IX_OnlineUsers__UpdateTime] ON [dbo].[OnlineUsers]([UpdateTime]) ON [PRIMARY]
313 GO
314
315 CREATE INDEX [IX_OnlineUsers__Branch_Id] ON [dbo].[OnlineUsers]([Branch_Id]) ON [PRIMARY]
316 GO
317
318 CREATE INDEX [IX_OnlineUsers__Branch_Code] ON [dbo].[OnlineUsers]([Branch_Code]) ON [PRIMARY]
319 GO
320
321 CREATE INDEX [IX_OnlineUsers__Position_Id] ON [dbo].[OnlineUsers]([Position_Id]) ON [PRIMARY]
322 GO
323
324 exec sp_addextendedproperty N‘MS_Description‘, N‘主键Id‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Id‘
325 GO
326
327 exec sp_addextendedproperty N‘MS_Description‘, N‘在线用户列表中的HashTable Key值‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘UserHashKey‘
328 GO
329
330 exec sp_addextendedproperty N‘MS_Description‘, N‘用户Id‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Manager_Id‘
331 GO
332
333 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆账号‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Manager_LoginName‘
334 GO
335
336 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆密码‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Manager_LoginPass‘
337 GO
338
339 exec sp_addextendedproperty N‘MS_Description‘, N‘用户中文名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Manager_CName‘
340 GO
341
342 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆时间‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘LoginTime‘
343 GO
344
345 exec sp_addextendedproperty N‘MS_Description‘, N‘登陆IP‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘LoginIp‘
346 GO
347
348 exec sp_addextendedproperty N‘MS_Description‘, N‘用户密钥‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘UserKey‘
349 GO
350
351 exec sp_addextendedproperty N‘MS_Description‘, N‘Md5(密钥+登陆帐号+密码+IP+密钥.Substring(6,8))‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Md5‘
352 GO
353
354 exec sp_addextendedproperty N‘MS_Description‘, N‘最后在线时间‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘UpdateTime‘
355 GO
356
357 exec sp_addextendedproperty N‘MS_Description‘, N‘性别(0=未知,1=男,2=女)‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Sex‘
358 GO
359
360 exec sp_addextendedproperty N‘MS_Description‘, N‘所属部门ID‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Branch_Id‘
361 GO
362
363 exec sp_addextendedproperty N‘MS_Description‘, N‘所属部门编号,用户只能正式归属于一个部门‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Branch_Code‘
364 GO
365
366 exec sp_addextendedproperty N‘MS_Description‘, N‘部门名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Branch_Name‘
367 GO
368
369 exec sp_addextendedproperty N‘MS_Description‘, N‘用户职位ID‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Position_Id‘
370 GO
371
372 exec sp_addextendedproperty N‘MS_Description‘, N‘职位名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘Position_Name‘
373 GO
374
375 exec sp_addextendedproperty N‘MS_Description‘, N‘用户当前所在页面Url‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘CurrentPage‘
376 GO
377
378 exec sp_addextendedproperty N‘MS_Description‘, N‘用户当前所在页面名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘CurrentPageTitle‘
379 GO
380
381 exec sp_addextendedproperty N‘MS_Description‘, N‘用户SessionId‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘SessionId‘
382 GO
383
384 exec sp_addextendedproperty N‘MS_Description‘, N‘客户端UA‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘UserAgent‘
385 GO
386
387 exec sp_addextendedproperty N‘MS_Description‘, N‘操作系统‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘OperatingSystem‘
388 GO
389
390 exec sp_addextendedproperty N‘MS_Description‘, N‘终端类型(0=非移动设备,1=移动设备)‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘TerminalType‘
391 GO
392
393 exec sp_addextendedproperty N‘MS_Description‘, N‘浏览器名称‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘BrowserName‘
394 GO
395
396 exec sp_addextendedproperty N‘MS_Description‘, N‘浏览器的版本‘, N‘user‘, N‘dbo‘, N‘table‘, N‘OnlineUsers‘, N‘column‘, N‘BrowserVersion‘
397 GO

  7、添加后端相关表默认记录

 1 --添加部门记录
2 INSERT INTO Branch (Code, Name, Notes, ParentId, Sort, Depth, Manager_Id, Manager_CName)
3 VALUES (‘01‘, ‘XX公司‘, ‘‘, 0, 1, 0, 1, ‘admin‘)
4 GO
5
6 --添加职位记录
7 INSERT INTO Position (Name, Branch_Id, Branch_Code, Branch_Name, PagePower, ControlPower, IsSetBranchPower, SetBranchCode, Manager_Id, Manager_CName)
8 VALUES (‘软件开发工程师‘, 1, ‘01‘, ‘XX公司‘, ‘‘, ‘‘, 1, ‘01‘, 1, ‘admin‘)
9 GO
10
11 --添加管理员
12 INSERT INTO Manager (LoginName, LoginPass, LoginIp, LoginCount, Branch_Id, Branch_Code, Branch_Name, Position_Id, Position_Name, IsWork, IsEnable, CName, EName, Sex, Manager_Id, Manager_CName)
13 VALUES (‘admin‘, ‘c3284d0f94606de1fd2af172aba15bf3‘, ‘127.0.0.1‘, 0, 1, ‘01‘, ‘XX公司‘, ‘1‘, ‘软件开发工程师‘, 1, 1, ‘admin‘, ‘admin‘, ‘男‘, 1, ‘admin‘)
14 GO

  8、运行T4模板,为新加的表与修改的字段生成DAL层与BLL层代码

  

  9、登陆页cs文件代码(根据上面的流程图+代码中详细注释,大家应该很容易看明白)

  1 using System;
2 using System.Collections;
3 using System.Web;
4 using System.Web.Caching;
5 using DotNet.Utilities;
6 using Solution.DataAccess.DataModel;
7 using Solution.Logic.Managers;
8
9 namespace Solution.Web.Managers.WebManage
10 {
11 public partial class Login : System.Web.UI.Page
12 {
13 protected void Page_Load(object sender, EventArgs e)
14 {
15 if (!IsPostBack)
16 {
17
18 //进入登陆页面时判断是否是后台直接点击退出的,是的话加退出记录
19 LoginLogBll.GetInstence().UserExit();
20
21 #region 初始化用户Session变量
22 //在线用户生成的session标识
23 Session["UserHashKey"] = null;
24 //当前用户可访问的页面
25 Session["PagePower"] = null;
26 //当前用户页面中可使用的按钮控件
27 Session["ControlPower"] = null;
28 #endregion
29 }
30 }
31
32 /// <summary>登录</summary>
33 /// <param name="sender"></param>
34 /// <param name="e"></param>
35 protected void BtnLogin_Click(object sender, EventArgs e)
36 {
37 var ip = IpHelper.GetUserIp();
38
39 #region 获取用户输入的参数,并进行数据初步处理
40 //获取用户名,并进行危险字符过滤
41 var username = StringHelper.Left(txtusername.Text, 50);
42 //获取用户密码
43 var userpass = txtpass.Text;
44 //获取验证码
45 var strCode = StringHelper.Left(txtcode.Text, 5);
46 #endregion
47
48 #region 初步验证
49 //开发测试使用,不用每次都输入帐号与密码
50 //username = "admin";
51 //userpass = "admin";
52 //strCode = "12345";
53
54 //用户名验证
55 if (string.IsNullOrEmpty(username.Trim()))
56 {
57 txtusername.Focus();
58 JsHelper.Alert("用户名不能为空,请仔细检查您输入的用户名!");
59 return;
60 }
61 //密码验证
62 if (string.IsNullOrEmpty(userpass.Trim()))
63 {
64 txtpass.Focus();
65 JsHelper.Alert("密码不能为空,请仔细检查您输入的密码!");
66 return;
67 }
68
69 //验证码验证
70 if (string.IsNullOrEmpty(strCode))
71 {
72 txtcode.Focus();
73 JsHelper.Alert("验证码不能为空!");
74 return;
75 }
76 //判断验证码是否正确
77 if (Session["vcode"] == null || !Session["vcode"].ToString().Equals(strCode, StringComparison.InvariantCultureIgnoreCase))
78 {
79 SessionHelper.RemoveSession("vcode");
80 txtpass.Focus();
81 JsHelper.Alert("验证码错误!");
82 return;
83 }
84 else
85 {
86 //验证码正确,删除验证码Session
87 SessionHelper.RemoveSession("vcode");
88 }
89 #endregion
90
91 #region 数据库验证
92
93 //通过用户给的用户名获取相关实体类
94 var userinfo = Manager.SingleOrDefault(x => x.LoginName == username);
95
96 //判断用户是否存在
97 if (userinfo == null)
98 {
99 LoginLogBll.GetInstence().Save(0, "账号【" + username + "】不存在,登录失败!");
100 txtusername.Focus();
101 JsHelper.Alert("用户名不存在,请仔细检查您输入的用户名!");
102 return;
103 }
104
105 //密码不匹配
106 if (!userinfo.LoginPass.Equals(Encrypt.Md5(Encrypt.Md5(userpass))))
107 {
108 LoginLogBll.GetInstence().Save(userinfo.Id, "账号【" + userinfo.LoginName + "】的用户【" + userinfo.CName + "】登录失败!登录密码错误。");
109 txtpass.Focus();
110 JsHelper.Alert("您输入的用户密码错误!");
111 return;
112 }
113
114 if (userinfo.IsWork == 0)
115 {
116 //添加用户登陆日志
117 LoginLogBll.GetInstence().Save(userinfo.Id, "离职用户登录失败!用户【" + userinfo.CName + "】试图登录系统");
118 JsHelper.Alert("您已经没有权限登录本系统!");
119 return;
120 }
121
122 //判断当前账号是否被启用
123 if (userinfo.IsEnable == 0)
124 {
125 //添加登录日志记录
126 LoginLogBll.GetInstence().Save(userinfo.Id, "账号【" + userinfo.LoginName + "】的用户【" + userinfo.CName + "】登录失败!用户账号被禁用。");
127
128 JsHelper.Alert("当前账号未被启用,请联系管理人员激活!");
129 return;
130 }
131
132 #endregion
133
134 #region 存储在线用户资料
135
136 #region 获取用户操作权限
137
138 if (string.IsNullOrEmpty(userinfo.Position_Id))
139 {
140 Session["PagePower"] = "";
141 Session["ControlPower"] = "";
142
143 LoginLogBll.GetInstence().Save(0, "账号【" + username + "】未绑定职位,请管理员进行配置!");
144 JsHelper.Alert("您的账号未绑定职位,请与管理员联系!");
145 return;
146 }
147 else
148 {
149 //获取用户权限并存储到用户Session里
150 PositionBll.GetInstence().SetUserPower(userinfo.Position_Id);
151 }
152
153 #endregion
154
155 #region 当前用户在线信息
156 //当前时间
157 var localTime = DateTime.Now.ToLocalTime();
158 //创建客户端信息获取实体
159 var clientHelper = new ClientHelper(Request);
160
161 //创建在线用户实体
162 var onlineUser = new Solution.DataAccess.Model.OnlineUsers();
163 //当前用户的Id编号
164 onlineUser.Manager_Id = userinfo.Id;
165 onlineUser.Manager_LoginName = userinfo.LoginName;
166 onlineUser.Manager_LoginPass = userinfo.LoginPass;
167 onlineUser.Manager_CName = userinfo.CName;
168 onlineUser.LoginTime = localTime;
169 onlineUser.LoginIp = ip;
170 //生成密钥
171 onlineUser.UserKey = RandomHelper.GetRndNum(32, true);
172 //Md5(密钥+登陆帐号+密码+IP+密钥.Substring(6,8))
173 onlineUser.Md5 =
174 Encrypt.Md5(onlineUser.UserKey + onlineUser.Manager_LoginName + onlineUser.Manager_LoginPass +
175 onlineUser.LoginIp + onlineUser.UserKey.Substring(6, 8));
176 onlineUser.UpdateTime = localTime;
177 onlineUser.Sex = userinfo.Sex;
178 onlineUser.Branch_Id = userinfo.Branch_Id;
179 onlineUser.Branch_Code = userinfo.Branch_Code;
180 onlineUser.Branch_Name = userinfo.Branch_Name;
181 onlineUser.Position_Id = userinfo.Position_Id;
182 onlineUser.Position_Name = userinfo.Position_Name;
183 onlineUser.CurrentPage = "";
184 onlineUser.CurrentPageTitle = "";
185 //SessionId
186 onlineUser.SessionId = Session.SessionID;
187 onlineUser.UserAgent = StringHelper.FilterSql(HttpContext.Current.Request.Headers["User-Agent"] + "");
188 onlineUser.OperatingSystem = clientHelper.GetSystem();
189 onlineUser.TerminalType = clientHelper.IsMobileDevice(onlineUser.UserAgent) ? 1 : 0;
190 onlineUser.BrowserName = clientHelper.GetBrowserName();
191 onlineUser.BrowserVersion = clientHelper.GetBrowserVersion();
192
193 #endregion
194
195 #region 记录当前用户UserId
196 //定义HashTable表里Key的名称UserId
197 string userHashKey = "";
198 //判断当前用户帐户是否支持同一帐号在不同地方登陆功能,取得用户在HashTable表里Key的名称
199 //不支持则
200 if (userinfo.IsMultiUser == 0)
201 {
202 userHashKey = userinfo.Id + "";
203 }
204 //支持则
205 else
206 {
207 userHashKey = userinfo.Id + "_" + onlineUser.SessionId;
208 }
209 //记录用户的HashTable Key
210 onlineUser.UserHashKey = userHashKey;
211 Session["UserHashKey"] = userHashKey;
212 #endregion
213
214 #region 将在线用户信息存入全局变量中
215 //运行在线数据加载函数,如果缓存不存在,则尝试加载数据库中的在线表记录到缓存中
216 //——主要用于IIS缓存被应用程序池或其他原因回收后,对在线数据进行重新加载,而不会使所有用户都被迫退出系统
217 OnlineUsersBll.GetInstence().Load();
218
219 //判断缓存中["OnlineUsers"]是否存在,不存在则直接将在线实体添加到缓存中
220 if (CacheHelper.GetCache("OnlineUsers") == null)
221 {
222 //将当前用户信息添加到Hashtable中
223 var hashtable = new Hashtable();
224 hashtable.Add(userHashKey, onlineUser);
225 //将在线列表(Hashtable)添中进系统缓存中
226 CacheHelper.SetCache("OnlineUsers", hashtable);
227 }
228 //存在则将它取出HashTable并进行处理
229 else
230 {
231 //直接从缓存中读取在线列表数据
232 var hashtable = (Hashtable)CacheHelper.GetCache("OnlineUsers");
233
234 //判断当前用户是否存在在线表中,不存在则直接将当前用户的实体对象存储进HashTable
235 if (hashtable[userHashKey] == null || hashtable.Count == 0)
236 {
237 hashtable.Add(userHashKey, onlineUser);
238 }
239 //存在则
240 else
241 {
242 //添加用户下线记录
243 LoginLogBll.GetInstence().Save(userHashKey, "用户【{0}】的账号已经在另一处登录,本次登陆下线!在线时间【{1}】");
244
245 //将HashTable里存储的前一登陆帐户移除
246 OnlineUsersBll.GetInstence().Delete(this, x => x.UserHashKey == userHashKey);
247 //移除缓存中的记录
248 hashtable.Remove(userHashKey);
249
250 //将当前用户的实体对象存进在线缓存中
251 hashtable.Add(userHashKey, onlineUser);
252 }
253 }
254
255 //将在线实体保存到数据库的在线表中
256 OnlineUsersBll.GetInstence().Save(this, OnlineUsersBll.GetInstence().Transform(onlineUser));
257
258 //将用户信息表添加到缓存中,并且以150秒的轮询用户在线情况
259 //new PageBase().OnRemovedCallback为缓存回调函数,用于缓存失效、过期、删除或回收时,所触发的回调函数,执行相应操作
260 //缓存Key的前面加了"OnlineUsers_"标识,主要是用于清空缓存时区分用户缓存和其他系统缓存,不会将在线用户都清除下线
261 HttpRuntime.Cache.Insert("OnlineUsers_" + userHashKey, userHashKey, null, DateTime.MaxValue, TimeSpan.FromSeconds(150), CacheItemPriority.Default, new CacheItemRemovedCallback(OnRemovedCallback));
262
263 //更新在线列表数据,将不在线人员删除
264 OnlineUsersBll.GetInstence().UpdateUserOnlineCount();
265
266 #endregion
267
268 #endregion
269
270 #region 更新用户登陆信息
271
272 userinfo.LoginIp = ip;
273 userinfo.LoginCount = userinfo.LoginCount++;
274 userinfo.LoginTime = localTime;
275
276 ManagerBll.GetInstence().Save(this, userinfo, string.Format("用户【{0}】登陆成功,更新登陆信息", userinfo.CName));
277
278 #endregion
279
280 #region 添加用户登录成功日志
281 LoginLogBll.GetInstence().Save(userHashKey, string.Format("账号【{0}】的用户【{1}】登录成功", userinfo.LoginName, userinfo.CName));
282 #endregion
283
284 #region 写Cookies
285 //写入用户的HashTable Key
286 CookieHelper.SetCookie(OnlineUsersTable.UserHashKey, userHashKey);
287 //写入加密值
288 CookieHelper.SetCookie(OnlineUsersTable.Md5, onlineUser.Md5);
289 #endregion
290
291 //跳转进入主页面
292 Response.Redirect("MainPage.aspx");
293 }
294
295 #region 缓存回调函数
296 /// <summary>
297 /// 缓存回调函数,用于缓存失效、过期、删除或回收时,所触发的回调函数,执行相应操作
298 /// </summary>
299 /// <param name="key">缓存Key</param>
300 /// <param name="value">缓存值</param>
301 /// <param name="reason">触发的原因</param>
302 public void OnRemovedCallback(string key, object value, CacheItemRemovedReason reason)
303 {
304 if (key == null || value == null)
305 return;
306
307 //更新在线列表数据,将不在线人员删除
308 OnlineUsersBll.GetInstence().UpdateUserOnlineCount();
309
310 //switch (reason)
311 //{
312 // //相关联的缓存已经失效
313 // case CacheItemRemovedReason.DependencyChanged:
314 // break;
315
316 // //当前用户缓存已过期
317 // case CacheItemRemovedReason.Expired:
318 // //更新在线列表数据,将不在线人员删除
319 // OnlineUsersBll.UpdateUserOnlineCount();
320
321 // break;
322
323 // //当前用户已被删除
324 // case CacheItemRemovedReason.Removed:
325 // break;
326
327 // //系统释放内存自动回收当前用户
328 // case CacheItemRemovedReason.Underused:
329 // //更新在线列表数据,将不在线人员删除
330 // OnlineUsersBll.UpdateUserOnlineCount();
331
332 // break;
333
334 //}
335 }
336 #endregion
337 }
338 }

  后端登陆页面界面随便在网上找了个改了一下,弄得很简陋,大家如果有好的UI可以发到我邮箱,我下次更新上去O(∩_∩)O


点击下载:

Web层后端登陆功能.part01.rar 

Web层后端登陆功能.part02.rar 

 版权声明:

  本文由AllEmpty原创并发布于博客园,欢迎转载,未经本人同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。如有问题,可以通过[email protected]
联系我,非常感谢。

  发表本编内容,只要主为了和大家共同学习共同进步,有兴趣的朋友可以加加Q群:327360708
,大家一起探讨。

  更多内容,敬请观注博客:http://www.cnblogs.com/EmptyFS/

Eclipse Android 代码自动提示功能

时间: 2024-10-06 03:09:28

Eclipse Android 代码自动提示功能的相关文章

Eclipse Android 代码自动提示功能 (转)

Eclipse Android 代码自动提示功能 1.设置 java 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist > Auto activation triggers for Java ,设置框中默认是一个点, 现在将它改为: 以下为引用内容:  .abcdefghijklmnopqrstuvwxyz(,    2.设置 xml 文件的代码提示功能 打 开 Ecli

Eclipse Android 代码自动提示功能 +导入 epf

1.设置 java 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist > Auto activation triggers for Java ,设置框中默认是一个点, 现在将它改为: 以下为引用内容:  .abcdefghijklmnopqrstuvwxyz(,    2.设置 xml 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Pref

Android 代码自动提示功能

Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java 与 xml 代码自动提示功能,解决 eclipse 代码提示失效.eclipse 不能自动提示.eclipse 没有代码提示的问题.eclipse xml 自动提示,eclipse java 自动提示,eclipse 自动提示功能,eclipse 智能提示,eclipse 代码提示功能,eclipse 设置代码提示,eclipse code au

eclipse代码自动提示设置、如何配置eclipse的代码自动提示功能?

对于编程人员来说,要记住大量的类名或类方法的名字,着实不是一件容易的事情.如果要IDE能够自动补全代码,那将为我们编程人员带来很大帮助. eclipse代码里面的代码提示功能默认是关闭的,只有输入"."的时候才会提示功能,用vs的用户可能不太习惯这种,vs是输入任何字母都会提示,下面说一下如何修改eclipse配置,开启代码自动提示功能打开 Eclipse  -> Window -> Perferences -> Java -> Editor -> Con

Eclipse For Android 代码自动提示功能

Eclipse for android 实现代码自动提示智能提示功能,介绍 Eclipse for android 编辑器中实现两种主要文件 java 与 xml 代码自动提示功能,解决 eclipse 代码提示失效.eclipse 不能自动提示.eclipse 没有代码提示的问题.eclipse xml 自动提示,eclipse java 自动提示,eclipse 自动提示功能,eclipse 智能提示,eclipse 代码提示功能,eclipse 设置代码提示,eclipse code au

Eclipse Android代码自动提示

1.设置 java 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences > Java > Editor - Content Assist > Auto activation triggers for Java ,设置框中默认是一个点, 现在将它改为: .abcdefghijklmnopqrstuvwxyz(,    2.设置 xml 文件的代码提示功能 打 开 Eclipse 依次选择 Window > Preferences &g

如何设置eclipse代码自动提示功能

1.首先,我们打开eclipse,选择菜单栏的window选项. 2.如何设置eclipse代码自动提示功能点击Windows,选择下拉菜单里面的preferences选项,之后在打开的对话框的左侧找到Java选项. 3.如何设置eclipse代码自动提示功能之后点击Java选项,选择展开后的子菜单editor选项,再点击editor选项,选择其展开后的子菜单content assist选项. 4.如何设置eclipse代码自动提示功能在右侧的对话框中auto activation 下的子选项a

Android搜索自动提示功能 AutocompleteTextView

1.配置main.xml中自动提示控件: <AutoCompleteTextView android:id="@+id/autotv_searchresult" android:layout_width="280dip" android:layout_height="35dip" android:layout_centerInParent="true" android:background="#00000000

idea没有代码自动提示功能和包自动引入不了问题

idea没有代码自动提示功能和包自动引入不了问题 原因:节电模式 File -> Power Save Mode (被勾选了) 处理方法: File -> Power Save Mode (解除勾选即可)