Sie müssen die Daten aus Ihrer Datenbank in Ihrer Aktionsmethode abrufen und sie an die Ansicht übergeben, in der Sie den Beschriftungstext festlegen. Sie können ein Ansichtsmodell verwenden, um diese Information oder ViewBag zu übergeben, oder Sie können diesen Wert einfach übergeben, wenn dies das einzige ist, was Sie übergeben möchten.
Hier ist ein Beispiel
public ActionResult Index()
{
string myLabelText="Read this from db";
return View((object)myLabelText); // Thanks Stephen for the comments
}
nun in der Ansicht, die stark an Zeichenfolge eingegeben wird
@model string
<label id="SID" name="SID" class="validate">@Model</label>
Usuaully Sie vielleicht mehr als ein Element aus Ihrer Sicht zu senden. In solchen Fällen könnten Sie den Betrachtungsmodellansatz in Betracht ziehen. Erstellen Sie zuerst eine Ansichtsmodellklasse.
public class MyPageVm
{
public string MyLabelText { set;get;}
public string MyLabelText2 { set;get;}
}
und in der Wirkung
public ActionResult Index()
{
var vm = new MyPageVm();
vm.MyLabelText="Read this from db";
vm.MyLabelText2="Another one to read from db";
return View(vm);
}
Jetzt, da wir ein Objekt der Klasse MyPageVm
sind vorbei, müssen wir unsere Sicht stark zu, dass getippt machen.
@model MyPageVm
<label id="SID" name="SID" class="validate">@Model.MyLabelText</label>
<label id="SID2" name="SID2" class="validate">@Model.MyLabelText2</label>
Es hat funktioniert. Vielen Dank für die Antwort. Ich werde deine Antwort in wenigen Minuten annehmen. Nochmals vielen Dank. – Mike
Mit dem ersten Codeausschnitt muss 'return View ((object) myLabelText);' Andernfalls wird eine Exception ausgelöst (weil sie versucht, eine Ansicht zu finden, die dem Wert von 'myLabelText' entsprach) –
Ja. Guter Fang. Vielen Dank. Ich denke, wenn funktioniert, wenn Sie die Überladung verwenden, die den Ansichtsnamen und das Modellobjekt übernimmt. – Shyju