2016-06-03 2 views
1

Ich habe diesen Controller:Bringen Sie eine Zeichenfolge von der Steuerung in einer Textbox (asp mvc)

public ActionResult Index(UserDetails user) 
     { 
      user.UserEmail = "Email"; 
      return View(); 
     } 

Und diese Zeilen

@Html.DisplayNameFor(model => model.UserEmail) 
@Html.EditorFor(model => model.UserEmail) 

Wie kann ich an einem Wert von der Steuerung in der Ansicht (im Eingabefeld für die UserEmail)?

Danke für Ihre Hilfe Stefan

Antwort

-1

Es gibt mehr Möglichkeiten, Werte von der Steuerung zur Ansicht weitergeben .. Ich Bildschirmtextsystem und viewBag verwenden würde:

public ActionResult Index(UserDetails user) 
    { 
     user.UserEmail = "Email"; 
     ViewData["ArbitraryName"] = user; 
     return View(); 
    } 

Ihrer Ansicht:

@Html.DisplayNameFor(model => model.UserEmail) 
@Html.EditorFor(model => model.UserEmail) 
@{ var user = ViewBag.ArbitraryName;} 

Um bestimmte Daten von dort zuzugreifen, verwenden @user.YourData

hier Weitere zu diesem speziellen Thema: https://chsakell.com/2013/05/02/4-basic-ways-to-pass-data-from-controller-to-view-in-asp-net-mvc/

+1

Die Person, die die Frage gestellt, versucht Modellattribute zu binden zu einem Textfeld. Es wird nicht empfohlen, ViewData oder ViewBag zu verwenden, da dies zu schlecht wartbarem Code führt. Sie wären besser dran mit den richtigen Modellen. – juunas

+0

"versucht, Modellattribute an ein Textfeld zu binden" das wurde nie explizit angegeben .. und Shyju's Antwort enthielt bereits richtige Modelle. Lediglich mehr Optionen für OP, Kind –

2

Fahren Sie mit UserDetails Objekt zur Ansicht.

public ActionResult Index(UserDetails user) 
{ 
    user.UserEmail = "Email"; 
    return View(user); 
} 

Ihre Rasierer Ansicht Unter der Annahme (Index.cshtml) stark zu UserDetails getippt

@model UserDetails 
@Html.DisplayNameFor(model => model.UserEmail) 
@Html.EditorFor(model => model.UserEmail) 
+0

Leider i poste es als eine Antwort – Stefan

Verwandte Themen