ASP.NET - Completar datos de SelectList

 
Vista:

Completar datos de SelectList

Publicado por Edwin Delgado (3 intervenciones) el 12/05/2020 20:06:00
Hola, soy relativamente nuevo en ASP.NET, estoy haciendo una aplicación para entender el funcionamiento de todo esto, uso varios select armados con datos directos, datos que no vienen de una tabla tal como el siguiente ejemplo:

1
2
3
4
5
6
7
8
9
<div class="form-group">
    <label asp-for="MaritalStatus" class="control-label"></label>
    <select data-val="true" data-val-required="Debe seleccionar uno" id="MaritalStatus" name="MaritalStatus" style="height:31px; width:100%">
        <option value="">Seleccione uno</option>
        <option value="S">Soltero</option>
        <option value="C">Casado</option>
        <option value="U">Unido</option>
    </select>
</div>

Al momento del create todo funciona bien, en este momento, tuve algunos contratiempos iniciales pero ya está funcionando, el problema viene cuando voy al edit,ya que los campos donde uso esos select, a pesar que traen el valor seleccionado en el create y guardado en la tabla, al momento que se presenta la vista edit, esos select me aparecen como si no tuvieran valor, se devuelven al default que dice "Seleccione uno", he buscado en internet pero todos los ejemplos que he encontrado reciben la lista de una tabla y en mi caso los que reciben el listado de la tabla funcionan bien, en el edit me aparece justo el valor que está guardado en la tabla.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Completar datos de SelectList

Publicado por Edwin Delgado (3 intervenciones) el 12/05/2020 22:25:56
Hola, no creo que sea la solución más elegante, pero por el momento funciona para mi, al entrar en el Create el Model viene NULL, por lo que el SelectList se arma con los valores normales sin seleccionar ninguno, pendiente de que el usuario realice su selección, pero cuando vamos al Edit, ya el modelo viene precargado con los valores de la(s) tabla(s), ahí verificamos el valor que trae el campo y a quien le corresponda le colocamos el SELECTED, de esa forma se refleja al usuario la preseleccón que había para ese campo, mi código hasta este momento, quedó así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
<div class="form-group">
    <label asp-for="MaritalStatus" class="control-label"></label>
    <select data-val="true" data-val-required="Debe seleccionar uno" id="MaritalStatus" name="MaritalStatus" style="height:31px; width:100%">
        <option value="">Seleccione uno</option>
        @if (Model == null)
        {
            <option value="S">Soltero</option>
            <option value="C">Casado</option>
            <option value="U">Unido</option>
        }
        else
        {
            @if (Model.MaritalStatus == "S")
            {
                <option value="S" selected>Soltero</option>
                <option value="C">Casado</option>
                <option value="U">Unido</option>
            }
            else
            {
                @if (Model.MaritalStatus == "C")
                {
                    <option value="S">Soltero</option>
                    <option value="C" selected>Casado</option>
                    <option value="U">Unido</option>
                }
                else
                {
                    @if (Model.MaritalStatus == "C")
                    {
                        <option value="S">Soltero</option>
                        <option value="C">Casado</option>
                        <option value="U" selected>Unido</option>
                    }
                }
            }
        }
    </select>
</div>
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Completar datos de SelectList

Publicado por Edwin Delgado (3 intervenciones) el 15/05/2020 19:22:11
Gracias por la información la estaré revisando y he visto que de igual forma hay ahí otros temas interesantes, a los que de seguro le dedicaré algo de tiempo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Leonardo Daniel A.
Val: 185
Oro
Ha mantenido su posición en ASP.NET (en relación al último mes)
Gráfica de ASP.NET

Completar datos de SelectList

Publicado por Leonardo Daniel A. (84 intervenciones) el 15/05/2020 20:02:08
Así es... Pero si no quieres estar batallando busca los controles Telerik o DevExpress que son de pago, pero por ahí andan piratas o SyncFusion que son grátis
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar