I am trying to retrieve data in the dropdown list based on the choice of the preceding element in another dropdown list.
Models:
AssetClass -> Parent class
GtiCapitalClassification
public long GtiCapitalClassificationId { get; set; }
public string GtiCapitalClassificationName { get; set; }
public int TechVerticalId { get; set; }
public bool Disable { get; set; }
public long AssetClassFk { get; set; } // Foreign key to AssetClass
Controller:
ViewBag.AssetClasses = capDb.AssetClass.OrderBy(ac => ac.AssetClassName).ToList();
ViewBag.GtiCapitalClassifications = capDb.GtiCapitalClassification.OrderBy(m => m.GtiCapitalClassificationName).ToList();
View:
<div class="col-md-12">
<div class="col-md-2">
<select data-live-search="true" class="selectpicker" name="asset_class_ID" required onchange="setMaintenance(this.selectedOptions[0].attributes['maintenance_val'].value); setDepreciation(this.selectedOptions[0].attributes['depreciation_val'].value)">
@foreach (var asset_class in ((List<AssetClass>)ViewBag.AssetClasses))
{
<option depreciation_val="@(asset_class.Depreciation.Value)" maintenance_val="@(asset_class.HasMaintenance.Value?"true":"false")" onclick="setMaintenance('@(asset_class.HasMaintenance.Value?"true":"false")')" value="@asset_class.AssetClassId">@asset_class.AssetClassName</option>
}
</select>
</div>
</div>
<div class="col-md-12 col-label">
<div class="col-md-3">
<label>GTI Capital Classification<span style="color:red"> *</span></label>
</div>
</div>
<div class="col-md-12">
<div class="col-md-2">
<select data-live-search="true" class="selectpicker" name="Cap_Class_ID" onchange="changeSubClasses(this)" required id="CapClass">
@foreach (var gti_class in ((List<GtiCapitalClassification>)ViewBag.GtiCapitalClassifications))
{
<option value="@gti_class.GtiCapitalClassificationId">@gti_class.GtiCapitalClassificationName</option>
}
</select>
</div>
</div>
So here all data comes from table GtiCapitalClassification, I need to limit data based on foreign key of AssetClass. Any HelpP!