2016-03-25 3 views
0

コントローラのGETメソッドでは、クエリ文字列からパラメータ(id)を取り出し、それをモデルのプロパティに割り当ててからビューに送信します。GETからPOSTへのモデルフィールドを維持する

ビューには、このモデルの残りの値を入力するフォームが含まれています。その後、モデルがPOSTメソッドに返されると、元のパラメータ(id)が再び必要になります。しかし、私はどのようにそれを維持するか分からない。 POSTメソッドでは、idフィールドが空白に戻ります。これを行うより良い方法はありますか?

// 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 
    } 

答えて

2

あなたはこのように、HiddenフィールドにこのIDを入れる必要があります。

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

そして、このフィールドは、フォームにする必要があります。

関連する問題