2013-04-27 1 views
0

J'ai un model:Comment lier des données à la propriété "Display" de Model avec MVC3?

public class TestModel { 
    [Display(Name = "Date")] 
    public DateTime Date { get; set; } 
} 

avec Html.LabelFor méthode d'aide à la page Test.cshtml

@Html.LabelFor(m => m.Date) 

et cette page avec 2 méthodes d'action MVC: Create et Update. Exemple:

public virtual ViewResult Create() { 
return View("Test"); 
} 

public virtual ViewResult Update() { 
return View("Test"); 
} 

et je veux afficher @Html.LabelFor(m => m.Date) avec Create page: "Date de " et Update page: "Mise à jour Date ". Je sais si le moyen normal de MVC3 ne peut pas le faire. J'espère que votre idéal peut modifier Html.LabelFor façon méthode Hepler ou quoi que ce soit pour lier les données à Html.LabelFor dans les méthodes d'action sur le contrôleur

Répondre

0

vous pouvez remplacer editorfor comme ça How can I override the @Html.LabelFor template? mais je pense que vous pouvez le faire plus facilement avec ViewBag:

public virtual ViewResult Create() { 
ViewBag.Title = "Create"; 
return View("Test"); 
} 

public virtual ViewResult Update() { 
ViewBag.Title = "Update"; 
return View("Test"); 
} 

en vue:

@string.format("{0} Date" , ViewBag.Title) 
+0

Merci pour votre réponse. Cependant, mon projet n'utilise pas ViewBag. Avez-vous plus idéal à propos de lier des données à Html.LabelFor dans les méthodes d'action sur le contrôleur (peut utiliser l'assistant personnalisé pour le contourner). Remarque: uniquement sur le contrôleur, PAS lier les données dans la vue Razor. – LazyCatIT

Questions connexes