エンティティ モデルを取得しました。最初のドロップダウン リストに基づいて 2 番目のドロップダウン リストをバインドする必要があります。最初のドロップダウンで選択した値をコントローラー アクションに渡すことはできますが、2 番目の ropdownlist に値を表示することはできません。ビュー コード COGPHome は次のとおりです。 .cshtml
<script type="text/javascript">
$(document).ready(function () {
$('#productDetails').change(function () {
//var productId = document.getElementById('ProductDetails');
var productId = $(this).val();
var prod = { ProductId: productId };
$.ajax({
url: '/COGP/GetProductFamily',
type: 'POST',
data: prod,
success: function (data) {
}
});
});
})
<h2>@ViewBag.Title</h2>
<div id="dvfilter">
<table align="center">
<tr>
<td>
@Html.Label("Product:")
</td>
<td>
@Html.DropDownList("productDetails", "---select---")
</td>
<td>
@Html.Label("ProductFamily:")
</td>
<td>
@Html.DropDownList("productFamily", "---select---")
</td>
</tr>
</table>
ここにコントローラーコードがあります
public class COGPController : Controller
{
COGPEntities objEnt = new COGPEntities();
public ActionResult COGPHome()
{
List<refProduct> objListproducts = new List<refProduct>();
objListproducts = (from c in objEnt.refProducts select c).ToList();
ViewData["productDetails"] = new SelectList(objListproducts, "ProductId", "Product");
ViewData["productFamily"] = new SelectList(string.Empty);
return View();
}
public ActionResult GetProductFamily(int productId)
{
List<refProductFamily> objListfamily = new List<refProductFamily>();
objListfamily = (from f in objEnt.refProductFamilies select f).ToList();
ViewData["productFamily"] = new SelectList(objListfamily, "ProductFamilyId", "ProductFamily");
return View();
}
}