Boa tarde. Preciso de uma ajuda para um drodownlist dinamico. Já li um monte de posts, mas infelizmente ainda nao esta claro para mim. Não gostaria de usar javascript!
Criei esta model:
public class FiliaisUsuario
{
public Guid BranchCredentialId { get; set; }
public Guid ContactId { get; set; }
public string ContactName { get; set; }
public Guid AccountId { get; set; }
public string AccountName { get; set; }
public Guid BranchId { get; set; }
public string BranchName { get; set; }
public IEnumerable<Empresa> Empresa { get; set; }
public IEnumerable<Filiais> Filiais { get; set; }
}
public class Empresa
{
[Key]
public Guid AccountId { get; set; }
public string AccountName { get; set; }
public virtual ICollection<Filiais> Filiais { get; set; }
}
public class Filiais
{
[Key]
public Guid BranchId { get; set; }
public string BranchName { get; set; }
public virtual Empresa Empresa { get; set; }
}
no meu controller, populo a model desta forma:
var empresa = (from emp in db.Accounts
join b in db.Branchs on emp.AccountId equals b.AccountId
join bc in db.BranchCredentials on b.BranchId equals bc.BranchId
join c in db.Contacts on bc.ContactId equals c.ContactId
where c.ContactId == contactsId
orderby emp.Name ascending
select emp).ToList();
var filial = (from b in db.Branchs
join bc in db.BranchCredentials on b.BranchId equals bc.BranchId
join c in db.Contacts on bc.ContactId equals c.ContactId
where c.ContactId == contactsId
orderby b.Name ascending
select b).ToList();
ViewBag.Accounts = empresa.Select(empresas => new Empresa() {AccountId = empresas.AccountId, AccountName = empresas.Name}).ToList().Distinct();
ViewBag.Branchs = filial.Select(branchse => new Filiais() {BranchId = branchse.BranchId, BranchName = branchse.Name}).ToList();
Neste contexto, o que fiz na view, foi simplesmente um select html norma dando um foreach nas viewbags que retorno do cliente. Até ai beleza, só que o que quero fazer é, quando o usuario escolher uma empresa no dropdownlist 1 o dropdownlist 2 carregue somente
as filiais referentes à aquela empresa (dropdownlist1).
Desde já agradeço a atenção de todos.