私はAjaxに非常に慣れていません。
私が達成しようとしていることは、かなり一般的だと思います。データベースを参照する 2 つのドロップダウン ボックスがあります。これらは「エリア」と「リゾート」と呼ばれます。アイデアは、最初のボックスからエリアを選択すると、2 番目のボックスにそのエリア内のリゾートのみが表示されるということです。
ここに私のフォームがあります:
<div id ="homepage-form-div" class="row">
<form id ="homepage-form"action=" /Search1.cshtml">
<div class="span3">
<label>Area:</label>
<select name="area">
<option value="">Any</option>
@foreach(var row in qlistarea){
<option value="">@row.AreaName</option>
}
</select>
</div>
<div class="span3">
<label>Resort:</label>
<select name="resort">
<option value="">Any</option>
@foreach(var row in qlistresort){
<option value="">@row.ResortName</option>
}
</select>
</div>
<button type="submit" class="btn btn-default" value="Submit" style="p">Go!</button>
</form>
</div>
現在の SQL コードを確認すると便利だと思いました。
var listarea = "SELECT DISTINCT AreaName FROM ResortInfo";
var qlistarea = db.Query(listarea);
var listresort = "SELECT DISTINCT ResortName FROM ResortInfo";
var qlistresort = db.Query(listresort);
AJAX 呼び出しの結果に応じて、"+ WHERE AreaName = something" を 2 番目のクエリに何らかの方法で追加する必要があると思います。