2012-03-27 60 views
1

因此,我有一個簡單的Web應用程序,可以在其中創建用戶(UserModel)並返回該用戶ID。然後用戶可以輸入多個實例或特定項目類型的記錄,在這種情況下是地理位置(LocationModel)。 LocationModel有一個UserId屬性,我需要在創建位置時進行設置。將UserId傳遞給Model

的ActionLink的用於創建一個用戶是用戶/創建/ ID = [用戶id]

在控制器的代碼是目前。

[HttpGet] 
public ActionResult Create(string id) 
{ 
    return View(); 
} 

[HttpPost] 
public ActionResult Create(LocationModel model) 
{ 
    //CODE TO SAVE MODEL 
} 

我的問題是如何傳遞用戶ID,以便我可以將它放入模型中,以便將兩者關聯起來。我將嘗試在ViewBag中傳遞它並將其呈現在隱藏字段中,但是以爲有人必須擁有比此更優雅的解決方案。提前致謝。

回答

3

UserId的模型,該模型傳遞給視圖:

[HttpGet] 
public ActionResult Create(string id) 
{ 
    return View(new LocationModel{UserId = id}); 
} 

然後渲染UserID屬性爲視圖中的隱藏字段,所以它會被包含在您的model參數時,表單已發佈。

@model LocationModel 
@using (Html.BeginForm(...)) { 
    @Html.HiddenFor(m => m.UserId) 
    ... 
} 
相關問題