Jquery を使用することは、まだ使用していない場合でも、このような状況に最適なソリューションです。ポストバックを保存する価値があります。State(親)とCounty(子)の関係の例を次に示します。
<asp:DropDownList ID="ddlState" runat="server">
</asp:DropDownList>
<br />
<asp:DropDownList ID="ddlCounty" runat="server">
</asp:DropDownList>
カスケード ドロップダウン リストを実装する jquery コードを次に示します。
$(document).ready(function () {
$("#<%= ddlState.ClientID %>").change(function () {
var sourceddl = "<%= ddlState.ClientID %>";
var stateid = $("#<%= ddlState.ClientID %> option:selected").val();
var Stateid = { Stateid: stateid };
$.ajax({
type: 'POST',
url: 'CacheSample.aspx/GetCounties',
data: JSON.stringify(Stateid),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (result) {
if (data.d) {
var options = [];
if (result.d) {
for (var i = 0; i < result.d.length; i++) {
options.push('<option value="',
result.d[i].countyID, '">',
result.d[i].countyName, '</option>');
}
$("#<%= ddlCounty.ClientID %>").html(options.join(''));
}
}
},
error: function () {
alert("Error! Try again...");
}
});
});
});
選択した州の郡を取得するために webmethod を使用しています。
[WebMethod]
public static County[] GetCounties(int Stateid)
{
County[] countiesArr = StatesCountyModel.GetCountyForState(Stateid).ToArray();
return countiesArr;
}
私はそれがあなたを助けるはずだと思います。Jquery 初心者の方、教えてください。プロジェクトにいくつかの JavaScript ファイルを含めるだけで、このコードを使用できます。
プラヴィーン