层叠下拉列表MVC5使用流畅的nhibernate

时间:2016-12-13 14:27:35

标签: javascript c# jquery asp.net fluent-nhibernate

我已经阅读了2天,每个问题看起来像我在这里的问题,阅读多个页面和教程,甚至观看视频,我只是无法理解或使其工作...... 我想要做的是,我有2个下拉列表,一个是“Departamentos”,你可以把它看作一个州和“Municipios”你可以把它想象成一个县。我需要什么,无论我什么都不能使它工作,当我选择一个离开时,只有来自该部门的市政当局出现在下拉列表中。我真的是一个关于编程的完整菜鸟,不幸的是我认为我开始时对我来说太大了,所以我很抱歉,如果这对你来说是一个非常简单的事情。

离开班级是:

public virtual int id_departamento { get; set; }
public virtual string descripcion { get; set; }      

    //i specify Relationship for fluent Nhibernate to municipios since it is a 1-n
    public virtual IList<Municipios> Municipios { get; set; }

市政课程是:

public virtual int id_municipio { get; set; }
public virtual string municipio { get; set; }
public virtual int id_departamento { get; set; }//THis is the FK from Departamento

继承我的主要类Sitios,我将所有内容连接到: 这是针对Nhibernate的关系

public virtual Departamentos Departamento { get; set; }          
public virtual Municipios Municipios { get; set; }

这是针对同一个Sitios类的列表:

public virtual List<Departamentos> Departamentos { get; set; } 
public virtual List<Municipios> municipiosLista { get; set; }

现在转到MVC这是我为Get创建的控制器,我将在其中填充Departamento和Municipio的列表:

using (ISession session = NhibernateHelper.OpenSession())
        {                
            var deptos = session.Query<Departamentos>().ToList();
            var munis = session.Query<Municipios>().ToList();                      

            var instanciadelacopia=new Sitios
            {
                Departamentos = deptos, 
                municipiosLista = munis                
            };
            return View(instanciadelacopia);            
            }

该特定下拉部分的创建视图:

@using (Html.BeginForm())
{
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h4>Sitios</h4>
    <hr />
    @Html.ValidationSummary(true, "", new { @class = "text-danger" })
<div class="form-group">
    <label class="control-label col-md-2"> Departamento </label>
    <div class="col-md-10">
@Html.DropDownListFor(model => model.id_departamento, new SelectList(Model.Departamentos, "id_departamento", "descripcion"), "--Select--", new {@id = "depto"})
    </div>
</div>    
<div class="form-group">
    <label class="control-label col-md-2"> Municipio </label>
    <div class="col-md-10">
@Html.DropDownListFor(model => model.id_municipio, new   SelectList(Model.municipiosLista, "id_municipio", "municipio"), "--Select--",   new { @id = "muni" })
    </div>
</div>

一切正常,因为它带给我所有的价值观让我从数据库中选择,我被卡住了,无法前进的是我需要一个市政名单的级联下拉列表,当我选择某些离开时,只有这个选定的离开的市政当局出现在名单上。 所以例如我选择了离开“atlantida”,它的ID是1然后只显示那些来自Departamentos = 1的外键的市政当局,我猜测Jquery是必需的。

如果有人可以帮助我,那会非常好,我感到非常紧张,因为我无法弄清楚我需要做什么。感谢

我见过的所有例子都是关于使用像这样的JSON: http://www.c-sharpcorner.com/uploadfile/4d9083/creating-simple-cascading-dropdownlist-in-mvc-4-using-razor/ 但由于我已经拥有下拉列表中的所有可用数据,我认为我不需要它,而只是一个我无法创建的普通jquery函数。

1 个答案:

答案 0 :(得分:1)

解决了这个问题:

//this div will have a black background
<div class="svart"></div>
//this div will have the gradient background    
<div class="svart myClass"></div>
<style type="text/css">
.svart {
background: black;
}
.svart.myClass {
background:linear-gradient(transparent, darkred);
}
</style>