2013-09-26 26 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