我用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];
总是不正确,提示类型不对,请多多指教!!!!!!最后一个问题:
  在网页中怎样显示“备注“字段????????