19 messaggi dal 27 luglio 2009
Ciao

finalmente sono riuscito a gestire le lingue nel mio sito grazie a delle abndierine, il problema adesso é il seguente:

io ho la miea tabella: ID , BODY, BODY_IT, BODY_FR, BODY_SP

se per esmpio io clicco su francais la mia culture é = fr

in questo caso io vorrei visualizzare il campo BODY_FR invece del normale BODY :

<div class="form-group">
@Html.LabelFor(model => model.Body, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.LabelFor(model => model.Body, new { @class = "control-label col-md-2" })
@Html.ValidationMessageFor(model => model.Body)
</div>
</div>

e anche qui

<dt>
@Html.DisplayNameFor(model => model.Body)
</dt>

e lo stesso per i miei tipi che son in una dropdownllist: titre, titre_it, , titre_fr, :

<div class="form-group">
@Html.LabelFor(model => model.Type, new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.Type, new SelectList(ViewBag.MagazineType, "Id", "MagazineTypeNom"), "Select a Category")
@Html.ValidationMessageFor(model => model.Type)
</div>
</div>
11.886 messaggi dal 09 febbraio 2002
Contributi
ciao,
se ho capito bene, hai un form che consente la modifica di una sola lingua alla volta. Quando si clicca un'altra bandierina, il form consentirà la modifica in un altra lingua. E' corretto?

La proprietà BODY contiene del testo in quale lingua? Vedo che non ha un suffitto _IT, _FR o _SP quindi, se contiene del testo in lingua inglese, dovresti cercare di rendere omogenea la nomenclatura e chiamarlo BODY_EN, ad esempio.

A questo punto puoi creati una proprietà Body che non è mappata su alcun campo del database ma che restituise il contenuto della lingua impostata correntemente (es. se culture = fr return BODY_FR).
Allo stesso modo, crea un setter per BODY in modo che le modifiche apportate nel form possano tornare alla proprietà di origine.

Così te la caverai senza sostanziali modifiche al database (devi giusto rinominare BODY in BODY_EN) e potrai mantenere invariati i tuoi LabelFor(model=>model.Body).

ciao,
Moreno

Enjoy learning and just keep making

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.