2012-03-27 4 views
1

Итак, у меня есть простое веб-приложение, в котором я могу создать пользователя (UserModel), и он вернет этот идентификатор пользователя. Затем пользователь имеет возможность вводить несколько экземпляров или записей определенного типа элемента, в этом случае географическое местоположение (LocationModel). У LocationModel есть свойство UserId, которое мне нужно установить при создании местоположения.Pass UserId для модели

ActionLink для создания пользователя является пользователь/Создать/ID = [идентификатор]

код в контроллере в данный момент.

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

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

Мои вопросы - как передать идентификатор пользователя, чтобы я мог его загрузить в модель, чтобы связать два. Я собирался попытаться передать его в ViewBag и отобразить в скрытом поле, но думал, что у кого-то должно быть более элегантное решение, чем это. Заранее спасибо.

ответ

3

Поместите UserId на модели, и передать модель к виду:

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

Затем вынести свойство USERID как скрытое поле в представлении, поэтому он будет получать включен в вашем параметре model, когда форма POSTED.

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

 Смежные вопросы

  • Нет связанных вопросов^_^