420 messaggi dal 23 marzo 2010
Contributi
Ciao Moreno

Sì, sono liberamente visualizzabili tramite URL. Il salvataggio su database mi era venuto in mente perchè altrimenti non riuscirei a persistere le modifiche dell'html con tinyMCE o altri. Al refresh della pagina tutto tornerebbe come prima.

Ti spiego meglio: Se io ho una form Crea, con del semplice html come label, per modificarlo dovrei sia modificare la view cre sia il template che genera il razorengine. Se riuscissi ad inserire degli html helper del template di razor, potrei usare la stessa view per l'inserimento e la visualizzazione dei dati. Attraverso il routing engine poi farei figurare rotte diverse in base alle operazioni effettuate. In questo modo modificando una sola etichetta si rifletterebbe su entrambe le parti e di conseguenza non ci sarebbe bisogno di mettere tutto l'html su database.

Per ora ho provato ad inserire questo nel template che mi ha generato RazorEngine

    <form name="datiUtenti" action="Template" method="post">

    <fieldset class="form-horizontal">
        <legend>Iscrizione</legend>
        <div class="control-group">
            <div class="controls">
                <input type="text" value="@Model.Name" />
            </div>
            <div class="controls">
                <input type="text" value="@Model.Surname" />
            </div>
            </div>
            <div class="form-actions no-color">
                <input type="submit" value="Save" class="btn" />
            </div>
</fieldset>
        </form>


public ActionResult Template(string templatePath, int? id, Iscrizione model)
            {
                var Recupero = GetTemplate(templatePath, id, model);
                return Content(Recupero);
            }

            [HttpPost]
            public ActionResult Template(Iscrizione model)
            {
                if (ModelState.IsValid)
                {
                    db.iscrizioni.Add(model);
                    db.SaveChanges();
                    return RedirectToAction("Index");
                }

                return View(model);
            }

            public string GetTemplate(string templatePath, int? id, Iscrizione model)
            {
                var template = System.IO.File.ReadAllText(Server.MapPath("~/Views/2013/Templates/Riepilogo.cshtml"));
                if (id == null)
                {
                    model = new Iscrizione {ID = 0, Name="Lorem", Surname="Iptus"};
                }
                else
                model = db.iscrizioni.Find(id);

                if (model == null)
                {
                    throw new Exception();
                }
                return Razor.Parse(template, model);
            }



solo che quando faccio il post, nella action il model non risulta valido in quanto i campi sono nulli
Modificato da Mirko Pastorelli il 31 ottobre 2013 11.29 -
Modificato da Mirko Pastorelli il 31 ottobre 2013 15.58 -

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.