2013-02-18 1 views
0

두 테이블 DealDealDetail이 있습니다. 두 개의 컨트롤러 메서드를 만듭니다.마스터/세부 편집 - 세부 모델 속성에 값 전달

// 
    // GET: /DealDetail/Create/5 

    public ActionResult Create(int id) 
    { 
     var deal = _db.Deals.Find(id); 
     ViewBag.Deal = deal; 
     return View(); 
    } 

    // 
    // POST: /DealDetail/Create/5 

    [HttpPost] 
    public ActionResult Create(int id, DealDetail dealdetail) 
    { 
     dealdetail.DealId = id; 
     if (ModelState.IsValid) 
     { 
      _db.DealDetails.Add(dealdetail); 
      _db.SaveChanges(); 
      return RedirectToAction("Index"); 
     } 

     return View(dealdetail); 
    } 

그러나, 방법을 잘 다음 HTML 코드는 /DealDetail/Create/5 대신 /DealDetail/Create의 URL을 사용하여 게시 할 수 있도록?

@Html.Partial("_Deal", (Models.Deal)ViewBag.Deal) 
@using (Html.BeginForm()) { 
     ...... 
     <input type="submit" value="Create" /> 
    </fieldset> 
} 

또는 cshtml 파일 ViewBag.Deal.DealId (ID)의 값으로 DealDetail.DealID를 설정하는 방법은 무엇입니까?

당신이 당신의 모델 또는 ViewBag에서 ID를 할당 여부
Html.BeginForm("Create","DealDetail", new { id = Model.DealID }, FormMethod.Post); 

, 중요한 점은 아이디, 경로 엔진을 할당하고 기존 컨트롤러 로직 :

답변

2

나는 이것이 당신이 찾고있는 무엇을한다고 생각 나머지는해야한다.

관련 문제