2012-11-20 94 views
1

我正試圖完成我認爲很簡單的任務。我無法圍繞它思考。將控制器中的整數傳遞給視圖mvc

我有一個組織列表,它只是OrganizationID和Name。我想要做的就是在每個組織旁邊都有一個「添加」鏈接,就像編輯一樣,就像刪除和編輯按鈕一樣。

它會抓取OrganizationID並將其傳遞給其他控制器中的其中一個「創建視圖」,並自動填寫OrganizationID字段。

添加鏈接只會指向具有DropDownList的View。然後,用戶將選擇其中一個選項,例如地址,將地址添加到從組織列表中選擇的組織。用戶選擇地址後,他們點擊提交按鈕。然後它將轉到OrganizationAddress創建視圖並自動填充OrganizationID字段。

我真的很希望我解釋得很好。

這是我OrganizationController

public ActionResult Add(int id) 
{ 
    using (var db = new VAGTCEntities()) 
    { 
     ViewBag.OrgPages = ddp.PageList(); 
     return View(db.Organizations.Find(id)); 
    } 
} 

拿過組織添加的ActionResult。

這裏是我添加視圖形式:

<fieldset> 
     <legend>Organization</legend> 

     @Html.HiddenFor(model => model.OrganizationID) 

     <div class="editor-label"> 
      @Html.Label("Add:") 
     </div> 
     <div> 
      @Html.DropDownList("OrgPages") 
     </div> 
     <p> 
      <input type="submit" value="Save" /> 
     </p> 
    </fieldset> 
} 

這裏是我的OrganizationController

[HttpPost] 
public ActionResult Add(int id, Organization organization, int OrgPages) 
{ 

    try{ 
     ViewBag.OrgID = id; 
     if (OrgPages == 2) 
      return RedirectToAction("Create", "OrgAddress"); 
     else if (OrgPages == 3) 
      return RedirectToAction("Create", "OrgIE"); 
     else if (OrgPages == 4) 
      return RedirectToAction("Create", "OrgMembership"); 
     else if (OrgPages == 5) 
      return RedirectToAction("Create", "OrgBusinessType"); 
     else if (OrgPages == 6) 
      return RedirectToAction("Create", "OrgIndustryType"); 
     else if (OrgPages == 7) 
      return RedirectToAction("Create", "OrgPhone"); 
     else if (OrgPages == 8) 
      return RedirectToAction("Create", "OrgEmail"); 
     else if (OrgPages == 9) 
      return RedirectToAction("Create", "OrgWebsite"); 
     else if (OrgPages == 9) 
      return RedirectToAction("Create", "OrgNote"); 
     else     
      return RedirectToAction("Index"); 
    } 
    catch (Exception) 
    { 
     ModelState.AddModelError("Error", "This item exists in the database already."); 
     ViewBag.OrgPages = ddp.PageList(); 
    } 
    return View(organization); 
} 

添加POST的ActionResult在這裏,我無法弄清楚。我試圖通過的任何結果都是空的。 我還是MVC的新手 - 慢慢地,慢慢地學習我的方式!

非常感謝!

回答

1

您是否有自定義路線來解釋您傳遞的以下參數?

public ActionResult Add(int id, Organization organization, int OrgPages) 

在您看來,您可以指定表格將被張貼什麼行動,包括參數或只是那些屬性(即組織,OrgPages)添加到視圖模型,然後讓MVC做所有的結合爲你。

Read this for details

+0

非常好!非常感謝! – cfisher

相關問題