Ich muss einen Wert in einem bearbeitbaren Textfeld auf meiner mvc-Seite anzeigen, wenn es zuerst lädt, wenn es existiert. Ich habe eine Funktion, die sich darum kümmert, den Wert zu bekommen, den ich brauche, aber ich muss Parameter aus dem aktuellen Modell übergeben, um das zu bekommen, was ich von der Datenbank brauche. Das Problem, das ich habe, ist, diesen Wert in das Textfeld zu bekommen. Was ich versucht warMVC4 cshtml Seite Funktionsaufruf
cshtml:
@Html.TextBoxFor(model => model.AdjustedLiabilityAmount, new { @Value=OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetLatestAdjustedLiabilityAmount(Model.DOTNumber, Model.LiabilityAmount))}
ich eine rote Wellen, dass „Der Name‚Wert‘nicht im aktuellen Kontext nicht vorhanden“
Also habe ich versucht, eine andere Technik, die ich über lesen Das war so.
Controller:
public ActionResult Index()
{
ViewBag.AdjustedValue = OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetLatestAdjustedLiabilityAmount(Model.DOTNumber, Model.LiabilityAmount);
cshtml: "Der Name 'Model' nicht im aktuellen Kontext nicht vorhanden"
@Html.TextBoxFor(model => model.AdjustedLiabilityAmount, new { @Value=ViewBag.AdjustedValue)}
Diesmal erhalte ich die roten Wellen
Ich bin mir sicher, ich vermisse nur etwas Grundlegendes, da ich neu bei MVC bin.
Jede Hilfe wird sehr geschätzt.
Entire Actionindex:
public ActionResult Index()
{
ViewBag.AdjustedValue = OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetLatestAdjustedLiabilityAmount(Model.DOTNumber, Model.LiabilityAmount);
var Report = new OBS_LIB.DTO.JeopardyAssessmentReport();
Report.Stage = 1;
Report.Status = "Active";
Report.ReportItems = OBS_LIB.BLL.JeopardyAssessment.JeopardyAssessment.GetJAReportItems(Report.Stage, Report.Status);
return View(Report);
}
Warum möchten Sie '@ Value' anstelle von' Value' verwenden? Razor erkennt es im Allgemeinen als "schreibe in Ausgabe", anstatt C-Code als Escape-Wert für spezielle Namen verwenden zu lassen ... (Auch "Value" ist kein spezieller Name - macht für mich keinen Sinn, stattdessen "@ Value" zu verwenden) –