2016-03-25 2 views
0

In der GET-Methode des Controllers hole ich einen Parameter (ID) aus der Abfragezeichenfolge und weise ihn einer Eigenschaft im Modell zu, die dann an die Ansicht gesendet wird.Persist-Modellfeld von GET nach POST

Die Ansicht enthält ein Formular, in dem der Benutzer die restlichen Werte für dieses Modell angibt. Wenn das Modell dann an die POST-Methode zurückgesendet wird, muss ich diesen ursprünglichen Parameter (ID) wieder zurückgeben. Aber ich bin mir nicht sicher, wie ich es beharren soll. In der POST-Methode wird das ID-Feld leer angezeigt. Gibt es einen besseren Weg, dies zu tun?

// GET: CreateInsured 
    [Route("Home/CreateInsured/{id}")] 
    public ActionResult CreateInsured(int id) 
    { 
     Insured insured = new Insured(); 
     insured.PolicyId = id; 
     return View(insured); 
    } 

    // POST: CreateInsured 
    [HttpPost] 
    [ValidateAntiForgeryToken] 
    public ActionResult CreateInsured(Insured insured) 
    { 
     //insured.PolicyId is empty 
    } 

Antwort

2

sollten Sie setzen diese Id in ein Hidden Feld wie folgt aus:

@Html.HiddenFor(m => m.PolicyId)

Und dieses Feld in das Formular sein sollte.