238 messaggi dal 02 novembre 2010
Ciao a tutti,
ho un Model DocumentoModel che al suo interno ha due ulteriori classi di tipo ArticoloModel e ClienteModel.

Ho creato un form nel quale ho inserito una serie di tag input di tipo testo relativi alle stringhe dei vari ModelView.
Sul controller, ho un metodo di tipo [HttpPost] al quale pensavo di passare l'oggetto Documento Model.

Ora quando vado ad effettuare il submit non riconosce il metodo perché dice di non trovare il costruttore adatto.
Devo necessariamente crearmi un costruttore con tutti i parametri delle inputbox? Oppure è possibile effettuare un binding?
427 messaggi dal 13 novembre 2009
Cosa hai messo come action post nel controller? Gli passi il modello? Naturalmente nel form devi legare le proprietà agli input generando un binding twoway altrimenti le modifiche in vengono intercettate. Che input usi html o Mvc Razor?
238 messaggi dal 02 novembre 2010
flaviovb ha scritto:
Cosa hai messo come action post nel controller? Gli passi il modello? Naturalmente nel form devi legare le proprietà agli input generando un binding twoway altrimenti le modifiche in vengono intercettate. Che input usi html o Mvc Razor?


Ciao Flavio, nel tag form ho impostato l'attributo
asp-action con il nome della action che voglio richiamare.

Al suo interno ho inserito i tag html di input, impostando lo stesso nome delle proprietà dei model.

form class="form-inline ml-3" asp-controller="Produzione" asp-action="Carico" method="post">
        <div class="row">
            <input type="text" class="form-control col-3" id="Ragionesociale" name="Ragionesociale" />
            <input type="hidden" id="Codice" name="Codice" />
            <input type="text" class="form-control col-2" id="Sigla" name="Sigla" />
            <input type="text" class="form-control col-1" id="Serie" name="Serie" />
            <input type="text" class="form-control col-1" id="Numero" name="Numero" />
        </div>
        <div class="row">
            <input type="text" class="form-control col-1" id="Lottofornitore" name="Lottofornitore" />
            <input type="hidden" class="form-control col-1" id="Codart" name="Codart" />
            <input type="text" class="form-control col-3" id="Desart" name="Desart" />
            <input type="text" class="form-control col-1" id="RifPartitaArrivo" name="RifPartitaArrivo" />
            <input type="text" class="form-control col-1" id="Qta" name="Qta" />
            <input type="text" class="form-control col-1" id="Casse" name="Casse" />
            <input type="text" class="form-control col-1" id="CodiceAllevamento" name="CodiceAllevamento" />
            <input type="text" class="form-control col-1" id="BolloCEE" name="BolloCEE" />
            <input type="text" class="form-control col-1" id="MS" name="MS" />
        </div>

        <button class="btn-primary">Invia</button>
    </form>



Mentre nella Action del controller ho scritto questo codice:
        [HttpPost]
        public ActionResult Carico(CaricoArticoloModel carico)
        {
            return View();
        }



Questo sarebbe il Model

    public class CaricoArticoloModel
    {
        public ArticoloModel Articolo { get; set; }
        public ClienteFornitoreModel ClienteFornitore { get; set; }
        public DocumentoModel Documento { get; set; }
        
        public String RifPartitaArrivo { get; set; }
        public String Lottofornitore { get; set; }
        public String CodiceAllevamento { get; set; }
        public String BolloCEE { get; set; }
        public String MS { get; set; }
        public String Note { get; set; }
        public Double Qta { get; set; }
        public int Casse { get; set; }

...

Modificato da GANDULE il 20 luglio 2020 09:53 -

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.