我用WEBSNAP做了个网页(HOME-首页,NEWS-新闻,XIAOXI-个人消息,USER-用户管理,LOGIN-LOGIN页),没有LOGIN前我把XIAOXI,USER都设为不可见,当LOGIN成功后让XIAOXI,USER都能显示,用了以下代码:
procedure Thome.WebUserListBeforeValidateUser(Strings: TStrings;
var UserID: Variant; var Handled: Boolean);
begin
with wdm.adquser do
begin
close;
sql.Clear ;
sql.Add('select * from userinfo u,groupinfo g ');
sql.Add('where u.username='+#39+strings.Values['username']+#39);
sql.Add(' and u.password='+#39+strings.Values['password']+#39);
sql.Add(' and u.group=g.group');
open;
end;
if wdm.adquser.RecordCount > 0 then
begin
userid:=strings.Values['username'];
handled:=true;
session.Values['username']:=strings.Values['username'];
session.Values['group']:=wdm.adquser.FieldValues['groupid'];
if session.Values['group']='brow' then
begin
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Txiaoxi, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html', '', '消息'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tuser, TWebPageInfo.Create([wpPublished { , wpLoginRequired}], '.html', '', '用户管理'), crOnDemand, caCache)); end;
if session.Values['group']='mody' then
begin
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Txiaoxi, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html', '', '消息'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tuser, TWebPageInfo.Create([wpPublished { , wpLoginRequired}], '.html', '', '用户管理'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tgroup, TWebPageInfo.Create([wpPublished { , wpLoginRequired}], '.html', '', '代码管理'), crOnDemand, caCache));
unews.news.CmdDeleteRow.HideOptions :=[];
unews.news.CmdEditRow.HideOptions :=[];
unews.news.CmdNewRow.HideOptions :=[];
end;
end else
handled:=false;
end;这样就都成功了,问题是:
当我LOGOUT的时候,XIAOXI,USER 还是显示,再LOGIN的时候,在页面中又多了一个XIAOXI,USER的连接,再LOGIN一次还会增加。
我用以下代码解决:
procedure Thome.ActionLogoutAfterExecute(Sender: TObject;
Params: TStrings);
begin
session.Values['username']:='';
session.Values['group']:='';
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Txiaoxi, TWebPageInfo.Create([{wpPublished {, wpLoginRequired}], '.html', '', '消息'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tuser, TWebPageInfo.Create([{wpPublished { , wpLoginRequired}], '.html', '', '用户管理'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tgroup, TWebPageInfo.Create([{wpPublished { , wpLoginRequired}], '.html', '', '代码管理'), crOnDemand, caCache));
//{unews.news.CmdDeleteRow.HideOptions :=[bhohidealways];
//unews.news.CmdEditRow.HideOptions :=[bhohidealways];
//unews.news.CmdNewRow.HideOptions :=[bhohidealways];}
end;没有成功,WHY??????
其中
unews.news.CmdEditRow.HideOptions :=[bhohidealways];
总是不正确,提示类型不对,请多多指教!!!!!!最后一个问题:
在网页中怎样显示“备注“字段????????
procedure Thome.WebUserListBeforeValidateUser(Strings: TStrings;
var UserID: Variant; var Handled: Boolean);
begin
with wdm.adquser do
begin
close;
sql.Clear ;
sql.Add('select * from userinfo u,groupinfo g ');
sql.Add('where u.username='+#39+strings.Values['username']+#39);
sql.Add(' and u.password='+#39+strings.Values['password']+#39);
sql.Add(' and u.group=g.group');
open;
end;
if wdm.adquser.RecordCount > 0 then
begin
userid:=strings.Values['username'];
handled:=true;
session.Values['username']:=strings.Values['username'];
session.Values['group']:=wdm.adquser.FieldValues['groupid'];
if session.Values['group']='brow' then
begin
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Txiaoxi, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html', '', '消息'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tuser, TWebPageInfo.Create([wpPublished { , wpLoginRequired}], '.html', '', '用户管理'), crOnDemand, caCache)); end;
if session.Values['group']='mody' then
begin
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Txiaoxi, TWebPageInfo.Create([wpPublished {, wpLoginRequired}], '.html', '', '消息'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tuser, TWebPageInfo.Create([wpPublished { , wpLoginRequired}], '.html', '', '用户管理'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tgroup, TWebPageInfo.Create([wpPublished { , wpLoginRequired}], '.html', '', '代码管理'), crOnDemand, caCache));
unews.news.CmdDeleteRow.HideOptions :=[];
unews.news.CmdEditRow.HideOptions :=[];
unews.news.CmdNewRow.HideOptions :=[];
end;
end else
handled:=false;
end;这样就都成功了,问题是:
当我LOGOUT的时候,XIAOXI,USER 还是显示,再LOGIN的时候,在页面中又多了一个XIAOXI,USER的连接,再LOGIN一次还会增加。
我用以下代码解决:
procedure Thome.ActionLogoutAfterExecute(Sender: TObject;
Params: TStrings);
begin
session.Values['username']:='';
session.Values['group']:='';
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Txiaoxi, TWebPageInfo.Create([{wpPublished {, wpLoginRequired}], '.html', '', '消息'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tuser, TWebPageInfo.Create([{wpPublished { , wpLoginRequired}], '.html', '', '用户管理'), crOnDemand, caCache));
WebRequestHandler.AddWebModuleFactory(TWebPageModuleFactory.Create(Tgroup, TWebPageInfo.Create([{wpPublished { , wpLoginRequired}], '.html', '', '代码管理'), crOnDemand, caCache));
//{unews.news.CmdDeleteRow.HideOptions :=[bhohidealways];
//unews.news.CmdEditRow.HideOptions :=[bhohidealways];
//unews.news.CmdNewRow.HideOptions :=[bhohidealways];}
end;没有成功,WHY??????
其中
unews.news.CmdEditRow.HideOptions :=[bhohidealways];
总是不正确,提示类型不对,请多多指教!!!!!!最后一个问题:
在网页中怎样显示“备注“字段????????
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货