How to rescue value a select MVC C #

0
  

The idea is to save the selected value in the select in a variable, and then save it in a Database.

CONTROLLER GET

    public ActionResult GetIndex()
    {   //crear un objeto para generar la consulta.
        NameValueCollection queryString = Request.QueryString;
        //Llama a base de datos
        IDbConnection database = new SqlConnection(config.ConnectionString);
        //query consulta
        string query = @"
            select 
                l.cod_local 'CodigoLocalidad',
                l.nom_local 'NombreLocalidad'
            from 
                localidad l
        ";
        //ordenar datos de consulta en una lista
        IEnumerable<dynamic> localidades = database.Query(query);

        ViewData["localidades"] = localidades;

        return View();
    }

POST DRIVER

[ActionName("Index")]


[httpPost]


public ActionResult PostIndex(FormCollection form)

    {
        string query = @"

            select 

                l.cod_local 'CodigoLocalidad',

                l.nom_local 'NombreLocalidad'
            from 
                localidad l
        ";

        IEnumerable<dynamic> localidades = database.Query(query);

        ViewData["localidades"] = localidades;



        return View();
    }

VISTA

            <fieldset>
            <legend>Datos captación</legend>
            <p>Seleccione Localidad</p>
            <select  id="dplocalidad">
                            <option value="Selected">Seleccione Opción</option>
                @{
                    if (ViewData["localidades"] != null)
                    {
                        IEnumerable<dynamic> localidades = (IEnumerable<dynamic>)ViewData["localidades"];

                        foreach (dynamic localidad in localidades)
                        {
                            string nombreLocalidad = localidad.NombreLocalidad;
                            int codigolocalidad = localidad.CodigoLocalidad;
                            <option value="@localidad.CodigoLocalidad">@nombreLocalidad.ToUpper()</option>

                        }
                    }
                }

            </select>

Attentive to your answers, Thank you

    
asked by koxe_24 21.12.2017 в 20:49
source

1 answer

0

So you would have to receive the value depending on the type of data that CodigoLocalidad in this example is int

   <select id="dplocalidad"  name="dplocalidad">
                               <option value="Selected">Seleccione Opción</option>
                    @{
                        if (ViewData["localidades"] != null)
                        {
                            IEnumerable<dynamic> localidades = (IEnumerable<dynamic>)ViewData["localidades"];

                            foreach (dynamic localidad in localidades)
                            {
                                string nombreLocalidad = localidad.NombreLocalidad;
                                int codigolocalidad = localidad.CodigoLocalidad;
                                <option value="@localidad.CodigoLocalidad">@nombreLocalidad.ToUpper()</option>

                            }
                        }
                    }
    </select>



  public ActionResult PostIndex(FormCollection form, int dplocalidad)    
    {
            return View();
    }
    
answered by 21.12.2017 / 22:29
source