none
no puedo solucionar este error ocupo ayuda ya busque y nomas no encuentro una solucion viable RRS feed

  • Pregunta

  • al momento de querer correr mi aplicacion para mostrar datos desde un dropdownlistfor con una base de datos en mvc 

    me aparece este error: Object reference not set to an instance of an object.

    mi modelo esta asi :Modelo

    namespace GenericServiceAccountproject.Models
    {
        public class StatusAccountModel
        {
            public List<SelectListItem> Values { get; set; }
            public int? value1 { get; set; }
        }
    }

    mi controlador:

    Controller:

        public class AddAccountController : Controller
        {
            // GET: AddAccount
            public ActionResult Index()
            {
                Models.StatusAccountModel SAM = new Models.StatusAccountModel();
                SAM.Values = SeleccionarStatus();
                return View(SAM);
            }

            private static List<SelectListItem> SeleccionarStatus()
            {

                List<SelectListItem> items = new List<SelectListItem>();
                string constr = ConfigurationManager.ConnectionStrings["GSARCon"].ConnectionString;
                using (SqlConnection con = new SqlConnection(constr))
                {
                    string query = " FindStatus";
                    using (SqlCommand cmd = new SqlCommand(query))
                    {
                        cmd.Connection = con;
                        con.Open();
                        using (SqlDataReader sdr = cmd.ExecuteReader())
                        {
                            while (sdr.Read())
                            {
                                items.Add(new SelectListItem
                                {
                                    Text = sdr["Value"].ToString(),
                                    Value = sdr["value1"].ToString()
                                });
                            }
                        }
                        con.Close();
                    }
                }

                return items;


            }
        }

    y mi vista:

    View

    @model GenericServiceAccountproject.Models.StatusAccountModel

    @{
        Layout = null;
    }

    <!DOCTYPE html>

    <html>
    <head>
        <meta name="viewport" content="width=device-width" />
        <title>AddAccount</title>
    </head>
    <body>
        <div> 
            }
            @Html.DropDownListFor(model => model.value1, Model.Values, "Please select")
        </div>
    </body>
    </html>

    

    viernes, 24 de marzo de 2017 23:04

Todas las respuestas

  • Cuando te ocurran estas cosas, al poner la pregunta en el foro deberías indicar no solo cuál es el error ("Object reference not set..."), sino también cuál es la línea del código en la que te ocurre (tal como te la señala el debugger de Visual Studio).

    Pero en fin, sin tener ese dato, y examinando el código a simple vista, me da la sensación de que el problema está en Model.value1, ya que en ningún momento le asignas valor a value1. Fíjate que instancias el modelo SAM, y le asignas el valor de su propiedad Values, pero luego ya se lo pasas a la vista sin asignarle nada a value1, con lo que se produce un error cuando la vista trata de evaluar Model.value1.

    sábado, 25 de marzo de 2017 8:22