none
Pasar valor de varios model mvc 5 RRS feed

  • Pregunta

  • Saludos,

    Tengo la siguiente situación, y es que tengo un wizard y este contiene 2 tabs:

           

    Cuando se le da click en "Contacto" aparece el tab dice "Información de contacto" y cuando se le da click en presidente aparece el tab que dice "Información del presidente" estos tabs están el el mismo view y consumen el mismo modelo, pero se necesita ingresar los datos en la base de datos en registros diferentes, un registro para información de contacto y otro registro para información de presidente. Inserto los registros sin ningun problema.

    Aúnque consuma el mismo modelo, lo que estoy haciendo para dividir uno del otro es lo siguiente, creo un clase aparte y hago esto:

    En el view llamo mi modelo así :

    y lo que hago para hacer referencia a uno de las propiedades de dichos modelos es llamar a la clase principal, nombre de la propiedad y el campo, seria algo como esto:

    model.Contact_information.FIRST_NM

    model.President_information.FIRST_NM

    Inserto estos datos en la base de datos y en mi metodo [httpGet] del controller de este view, creo una variable de session para guardar la información en memoria, por esto hago esto en mi metodo "Get" :

     [HttpGet]
            public ActionResult Index()
            {
                LeUnion Union = new LeUnion();
    
                LE_ONLINE_APPLICATIONModel App = new LE_ONLINE_APPLICATIONModel();
    
                try
                {
    
                    if (Session[SessionVariables.ApplicationItem] != null && ModelState.IsValid)
                    {
                        App = (LE_ONLINE_APPLICATIONModel)Session[SessionVariables.ApplicationItem];
    
                        LE_ONLINE_APPLICATIONModel AppAlt = new LE_ONLINE_APPLICATIONModel();
                        AppAlt.P_ONLINE_APPLICATION_ID = App.P_ONLINE_APPLICATION_ID;
    
                        App = LE_ONLINE_APPLICATIONRepository.Select(AppAlt).Take(1).FirstOrDefault();
    
                        if (App == null) App = new LE_ONLINE_APPLICATIONModel();
    
                        Session[SessionVariables.ApplicationItem] = App;
    
                      
                    }
    
                }
                catch (Exception ex)
                {
                    ViewBag.Message = ex.Message;
                }
    
                return View(Union);

    En runtime cuando consulto el modelo

    LE_ONLINE_APLICATION_Model que guarda la información de las sessiones y donde tengo esto:

    Cuando verifico mi modelo LeUnion sus propiedades están null

    Mi pregunta es, Como hago para que mis propiedades guarden y no vengan valores nulos?


    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    martes, 6 de septiembre de 2016 14:41

Todas las respuestas

  • hola

    en el Index veo que instancias LeUnion pero no veo que asignes las propiedades

    public ActionResult Index()
    {
    	LeUnion Union = new LeUnion();
    
    	LE_ONLINE_APPLICATIONModel App = new LE_ONLINE_APPLICATIONModel();
    
    	try
    	{
    
    		if (Session[SessionVariables.ApplicationItem] != null && ModelState.IsValid)
    		{
    			App = (LE_ONLINE_APPLICATIONModel)Session[SessionVariables.ApplicationItem];
    
    			LE_ONLINE_APPLICATIONModel AppAlt = new LE_ONLINE_APPLICATIONModel();
    			AppAlt.P_ONLINE_APPLICATION_ID = App.P_ONLINE_APPLICATION_ID;
    
    			App = LE_ONLINE_APPLICATIONRepository.Select(AppAlt).Take(1).FirstOrDefault();
    
    			if (App == null) 
    				App = new LE_ONLINE_APPLICATIONModel();
    
    			Session[SessionVariables.ApplicationItem] = App;
    
    		}
    
    	}
    	catch (Exception ex)
    	{
    		ViewBag.Message = ex.Message;
    	}
    
    	Union.Contact_Information = App;
    	
    	return View(Union);

    en el codigo remarco cual es la linea que estaria faltando

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    martes, 6 de septiembre de 2016 16:38
  • Pero que valor le voy a pasar si el modelo está llegando nulo.

    Si mi respuesta te ha ayudado a resolver tus problemas, Selecciona "Proponer como respuesta"

    Blog
    J.Joaquin

    miércoles, 7 de septiembre de 2016 4:19