乙個B S結構自動二次請求需求的實現

2021-09-22 05:21:26 字數 1569 閱讀 3904

有這樣乙個需求,當客戶輸入卡號,查詢出客戶的金額,如果金客大於等於1000,提示詢問客戶是否對帳,如果客戶選擇對帳,就改對客戶資料進行對帳操作(其實就是改丟這個客戶的對帳標誌),前提是在b/s架構下實現這個功能。

當看到這個需求時,先分解一下,來弄清資料的層次和操作的層次。

首先資料肯定是在伺服器端存放,客戶端需要的資料都需要從服務端得到。操作層次是客戶先把卡號送到服務端,讓服務判斷使用者金客是否大於等於1000,如果不滿足條件,就向客戶端提示使用者金客不足1000,不能對帳,如果滿足條件,就向客戶端詢問使用者是否對帳,如果客戶選擇確定對帳,就讓服務端更新資料標誌,如果客戶選擇不對帳,流程就此完結。

現在從技術角度分析一下這個過程,b/s架構是基於http協議,這個協議的特點是b端有請求,s端才有回應,一問一答的形式,當然不問,也就不答。現在就基於http來考慮一下,當客戶端提交卡號時,是客戶端的第一次請求;服務端得到卡號從資料庫中得到金額,然後跟據金額是否大於等於1000來向使用者傳送不同的請求,如果客戶端大於等於1000,向客戶端發的應答是帶有詢問提示框的,並有二次請求**,如果客戶金額少於1000,應答的是乙個提示金額不足的代。

提下來的焦就是怎麼在第一次應答中,帶有第二次請求的**,這裡的**是請求的**,一定是在客戶端,也當然是指令碼**了。

下面看一下**實現:

aspx**:

html xmlns="">

在aspx中用乙個hide標籤,是用來存放標誌的,在第二次客戶端提交是應用。

postpage方法是客戶端向後台提交請求的**。

c#**:

using system;

using system.collections.generic;

using system.data;

using system.data.sqlclient;

using system.web;

using system.web.ui;

using system.web.ui.webcontrols;

public partial class test : system.web.ui.page

} }

///

/// 更新資料庫,寫資料據對帳標誌

///

public void writemark()

catch

finally

} protected void sub_but_click(object sender, eventargs e)

catch

finally

//判斷金額是否大於500

if (amount > 500)

else

} }

資料庫結構:

列名資料型別

備註

id

int

編號主鍵,自動增長

number

varchar(50)

卡號

amount

float

金額

accmark

int

對帳標誌

乙個B S結構自動二次請求需求的實現

有這樣乙個需求,當客戶輸入卡號,查詢出客戶的金額,如果金客大於等於1000,提示詢問客戶是否對帳,如果客戶選擇對帳,就改對客戶資料進行對帳操作 其實就是改丟這個客戶的對帳標誌 前提是在b s架構下實現這個功能。當看到這個需求時,先分解一下,來弄清資料的層次和操作的層次。首先資料肯定是在伺服器端存放,...

乙個B S結構自動二次請求需求的實現

有這樣乙個需求,當客戶輸入卡號,查詢出客戶的金額,如果金客大於等於1000,提示詢問客戶是否對帳,如果客戶選擇對帳,就改對客戶資料進行對帳操作 其實就是改丟這個客戶的對帳標誌 前提是在b s架構下實現這個功能。當看到這個需求時,先分解一下,來弄清資料的層次和操作的層次。首先資料肯定是在伺服器端存放,...

自己手動寫乙個簡單的bs結構

拋去web框架,自己手寫乙個bs請求響應過程 自己建立乙個資料夾test,包含乙個hello.html 和乙個webserver.py 自己在html檔案裡面寫一些標籤 下面是webserver.py的主要內容 server obj.serve forever webserver.py主要是在本地啟...