BirdのBirdSizeプロパティを持つMVCビューがあります。
鳥の体重または身長の選択リストが変更されると、このBirdSizeプロパティの値が変更される可能性があります。
私が望んでいるのは、この更新が完全な画面更新なしで行われることなので、jqueryだと思います。
BirdSizeプロパティコードを特に複製したくはありませんが、そのまま使用したいと思います。
したがって、クラス:
public class Bird
{
public int WeightId { get; set; }
public Weight Weight { get; set; }
public int HeightId { get; set; }
public Height Height { get; set; }
public string BirdSize
{
if(Height == "Tall" && Weight == "Heavy") {
return "Big";
}
else {
return "Small";
}
}
}
それから私は見解を持っています:
@model Ahb.Insite.HerdRegistration.WebUI.ViewModels.BirdModel
<script src="../../Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="../../Scripts/Views/HerdRegistrationWizard/index.js" type="text/javascript"></script>
<h3>Bird Weight/h3>
<div>
@Html.DropDownListFor(model => model.Bird.WeightId, Model.BirdWeightSelectListItems, new { @id = "weightddl" })
</div>
<h3>Bird Height/h3>
<div>
@Html.DropDownListFor(model => model.Bird.HeightId, Model.BirdHeightSelectListItems, new { @id = "heightddl" })
</div>
<h3> Bird Size</h3>
<div>
@Html.DisplayFor(model => model.Bird.BirdSize)
</div>
したがって、selectは次のようになります。
<select id="weightddl">
<option value="1">Light</option>
<option value="2">Medium</option>
<option value="3">Heavy</option>
</select>
<select id="heightddl">
<option value="1">Short</option>
<option value="2">Medium</option>
<option value="3">Tall</option>
</select>
だから私はこれらのスクリプトコードで何かをするだろうと思います:
$('#weightddl').change(function() {
//Do something to update birdsize
});
$('#heightddl').change(function() {
//Do something to update birdsize
});
最善の方法がわかりません。私が考えることができる唯一の方法は、新しい鳥を作成し、その鳥のサイズを送り返すサーバーメソッドに送信される新しい値を使用することです。この機能を機能させるためのより良い方法を知っている人はいますか?
多分あなたは部分的なビューを使うことができますか?