0

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!

Engineer
  • 75
  • 9

0 Answers0