2013-09-26 28 views
1

下面是我的代碼,它處理AJAX請求。AJAX過程,Webmatrix - 幫助添加一個'if語句'

目前,當我在我的窗體頁上選擇一個區域,它會在「getresort」值發送到這個過程頁面和eveything工作正常。

問題出在我不想搜索特定區域時,而是想要顯示所有區域中的所有度假村。如果我在表單中選擇「全部」,它不會提交一個值,所以WHERE子句失敗,因爲它無法從查詢字符串獲取請求。

我是assumin,我需要在那裏的'if'語句,以檢查查詢字符串是否爲空,以便它運行刪除WHERE AreaName = @ 0部分的SQL語句。

'if'聲明應該在哪裏存在?

對不起,如果這沒有任何意義,我已經漫步了一下。

@{ 
var db = Database.Open("StayInFlorida"); 

var getresortval = Request.QueryString["resval"]; 
var type = Request.QueryString["type"]; 
var res = Request.QueryString["res"]; 
var area = Request.QueryString["area"]; 

var allresorts = "SELECT ResortID, ResortName FROM ResortInfo WHERE AreaName = @0"; 
var qallresorts = db.Query(allresorts, getresortval); 

if(type == "resortupdate") { 
    foreach(var row in qallresorts){ 
    <option value='@row.ResortID'>@row.ResortName</option> 
    } 
} 

回答

2
@{ 
var db = Database.Open("StayInFlorida"); 

var getresortval = Request.QueryString["resval"]; 
var type = Request.QueryString["type"]; 
var res = Request.QueryString["res"]; 
var area = Request.QueryString["area"]; 

var allresorts = "SELECT ResortID, ResortName FROM ResortInfo"; 
if(!getresortval.IsEmpty()){ 
    allresorts += " WHERE AreaName = @0"; 
} 
var qallresorts = db.Query(allresorts, getresortval); 

if(type == "resortupdate") { 
    foreach(var row in qallresorts){ 
    <option value='@row.ResortID'>@row.ResortName</option> 
    } 
} 
+0

這工作絕對完美。事實上,我自從tweeked我的代碼,所以這是檢查查詢字符串的值'任何'(添加該值添加到我的表單中的任何選項),但它的工作原理是相同的。 – Gavin5511