1

下面是我处理 AJAX 请求的代码。

目前,当我在表单页面上选择一个区域时,它会向该流程页面发送一个“getresort”值,并且一切正常。

当我不想搜索特定区域,而是想在所有区域中显示所有度假村时,就会出现问题。如果我在表单中选择“全部”,它不会提交值,因此 WHERE 子句将失败,因为它无法从查询字符串中获取请求。

我假设我在某处需要一个“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>
    }
}
4

1 回答 1

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>
    }
}
于 2013-09-26T12:33:08.953 回答