|
Result := TEdit(WebContext.FindModuleClass(TEdit));
end;
procedure TEdit.WebPageModuleBeforeDispatchPage(Sender: TObject;
const PageName: String; var Handled: Boolean);
procedure RedirectToGrid;
var
Intf1:IPageDispatcher;
AppModule:TObject;
GetAppService:IGetWebAppServices;
AppService:IWebAppServices;
AppComponents:IGetWebAppComponents;
begin
if Supports(WebContext.FindApplicationModule(Self),IGetWebAppServices,GetAppService) then
begin
AppService:=GetAppService.GetWebAppServices;
if Supports(AppService,IGetWebAppComponents,AppComponents) then
begin
Intf1:=AppComponents.GetPageDispatcher;
Intf1.DispatchPageName(''''Grid'''',Response,[dpPublished]);
Handled:=True;
end;
end;
end;
var
Intf:IActionFieldValues;
begin
if Supports(WebContext.AdapterRequest,IActionFieldValues,Intf) then
begin
if VarIsEmpty(Intf.ValueOfField(''''EnterCustNo'''')) then
RedirectToGrid;
end
else RedirectToGrid;
end;
end;
或 者 是 你 也 可 以 使 用 WebDisp Unit 中 的 這 兩 個 函 式 來 做 轉 向 的 動 作 :
function DispatchPageName(const APageName: string; AResponse: TWebResponse;
AFlags: TDispatchPageFlags): Boolean;
function RedirectToPageName(const APageName: string; AParams: TStrings; AResponse: TWebResponse;
AFlags: TDispatchPageFlags): Boolean;
這 兩 個 函 式 都 能 夠 正 常 的 重 新 導 向 網 頁 , 最 明 顯 的 差 別 是 使 用 RedirectToPageName 函 式 時 , 我 們 可 以 將 參 數 值 傳 到 目 標 Page Module 的 DefaultAction 中 , 再 藉 由 參 數 值 來 做 出 正 確 的 反 應 , 也 就 是 說 她 會 觸 發 目 標 Page Module 中 的 DefaultAction 事 件 。 DispatchPageName 則 沒 有 , 從 動 作 的 模 式 上 來 比 較 的 話 , RedirectToPageName 是 一 個 外 部 動 作 , 這 個 意 思 是 說 她 是 經 由 瀏 覽 器 來 轉 向 , DispatchPageName 則 是 一 個 內 部 轉 向 動 作 。 當 你 需 要 單 純 的 轉 向 時 , 你 可 以 使 用 DispatchPageName , 當 你 需 要 轉 向 並 觸 發 該 Page Module 中 的 DefaultAction 時 , 你 可 以 選 擇 RedirectToPageName 。 另 外 如 果 你 轉 向 的 網 頁 不 在 程 式 中 , 也 就 是 說 是 一 個 URL 時 , 那 你 可 以 使 用 SafeRedirect , 這 個 函 式 可 以 在 網 頁 轉 向 後 將 Cookie 送 給 目 標 網 頁 。
本 章 後 記
如 同 在 第 一 節 所 講 的 , 用 WebSnap 來 開 發 網 頁 資 料 庫 程 式 並 不 困 難 , 最 重 要 的 是 她 延 續 了 我 們 之 前 開 發 資 料 庫 程 式 的 慨 念 , 讓 我 們 的 學 習 曲 線 較 為 平 穩 。 當 然 ! 這 一 章 只 是 個 開 始 , 下 面 我 們 會 陸 續 介 紹 其 它 重 要 的 課 題 。
<第 四 章 、 進 階 資 料 庫 網 頁 設 計>
上一页 [1] [2] [3] [聊天工具]Gmail推出新功能:Web Clip__天极Yesky [聊天工具]Web MSN你玩了吗__天极Yesky [系统软件]Web Browser Express 概述 [系统软件]对Internet Explorer Web 控件做一点修改 [常用软件]小技巧:三步实现Web迅雷录制PPLive节目 [常用软件]天网防火墙:打开WEB和FTP服务 [VB.NET程序]使用VB.Net做一个配置web.config功能的WinForm(原… [VB.NET程序]vb.net控件、web service简述 [VB.NET程序]使用vbscript脚本调用web服务 [VB.NET程序]*** Web 存储系统窗体:窗体注册表 (new)***
|