私は、jquery/ajaxロード関数を使用してデータをドロップダウンから動的にロードするページを用意しています。これにより、ドロップダウン選択が変更されると、部分ビューにすべてのデータを含むグリッドを動的に表示することができます。MVC 3 Appの自動データロード
この問題は、ページが最初に読み込まれたときにデータがロードされるため、jQueryロード関数にID選択が送信されていないことを意味します。私は、ドロップダウンリスト自体のロード機能を追加することでこれを解決しようとしました。ロードされると、データビューがリロードされますが、無駄になります。データがロードされる前にコントロールが読み込まれるためです。しかし、私は何をすべきか迷っています。ここに私がこれまで持っていたコードがあります。
<script>
$(document).ready(function() {
$.ajax({
type: 'GET',
url: '@Url.Action("SessionsPartial", "Sessions")',
data: 'id=' + $("#ScheduleTypeId").value,
success: function (data) {
$('#SessionData').fadeOut().html(data).fadeIn();
}
});
$(function() {
$("#ScheduleTypeId").change(function() {
$.ajax({
type: 'GET',
url: '@Url.Action("SessionsPartial", "Sessions")',
data: 'id=' + this.value,
success: function (data) {
$('#SessionData').fadeOut().html(data).fadeIn();
}
});
});
});
$(function() {
$("#ScheduleTypeId").load(function() {
$.ajax({
type: 'GET',
url: '@Url.Action("SessionsPartial", "Sessions")',
data: 'id=' + this.value,
success: function(data) {
$('#SessionData').fadeOut().html(data).fadeIn();
}
});
});
});
});
私が言ったように、負荷部との最後の部分は、私が追加したばかりなので、批評して自由に感じるものです。