2017-04-04 20 views
0

如何將用戶請求映射到相應頁面?例如:用戶請求http://127.0.0.1:8090/Test/Login?username=1&password=2,讀取服務器目錄中的/Test/Login.index文件。當用戶請求時:http://127.0.0.1:8090/Test/Register?Username=1&password=2(註冊) http://127.0.0.1:8090/Test/Login?Username=1&password=2(登錄) 當請求到來時,如何處理?這是我如何處理下面的代碼:將用戶請求映射到相應頁面

if (URL.Equals("/Test/Login.html")) 
{ 
    UM.UserName = request.Params["username"]; 
    UM.Password = request.Params["password"]; 
    jsons = dbuserdata.Login(UM.UserName,UM.Password); 
    Console.WriteLine("返回的json數據:{0}",jsons); 
} 
else if (URL.Equals("/Test/Register.html")) 
{ 
    UM.UserName = request.Params["username"]; 
    UM.Password = request.Params["password"]; 
    jsons = dbuserdata.Register(UM.UserName,UM.Password); 
    Console.WriteLine("返回的json數據:{0}",jsons); 
} 

如果有數百個請求,我會寫幾百個的if/else塊。

回答

0

你可以簡化你的代碼中提取常見塊,然後用switch聲明:

UM.UserName = request.Params["username"]; 
UM.Password = request.Params["password"]; 

switch(URL) 
{ 
    case "/Test/Login.html": 
     jsons = dbuserdata.Login(UM.UserName,UM.Password); 
     Console.WriteLine("返回的json數據:{0}",jsons); 
     break; 
    case "/Test/Register.html": 
     jsons = dbuserdata.Register(UM.UserName,UM.Password); 
     Console.WriteLine("返回的json數據:{0}",jsons); 
     break; 
    default: 
     Console.WriteLine("unknown/unhandled"); 
} 
+0

謝謝你,但你可能沒有注意到,由不同的鏈接返回的數據是不同的。這種方法是可行的,但是如果有很多鏈接,程序就會變得很大 – user7811595

+0

我的例子程序中,一個調用是註冊方法,一個是登錄方法,或者如此,當有很多請求時,我該如何映射到適當的頁面,讀取數據並返回到客戶端。 – user7811595

+0

我的歉意,我現在看到它。我將編輯該方法,但我確定它現在是您要查找的內容。 – STLDeveloper