Нужен совет mvc по созданию / созданию нового представления, назначенного модели? - PullRequest
0 голосов
/ 28 сентября 2011

Я довольно новичок в настройке mvc, пожалуйста наберитесь терпения .. Итак, у меня есть эти две модели

public class Promoter
 {
    public int Id {get; set;}
    public string Name {get;set;}

    public ICollection<Event> AllEvents {get;set;}
 }

public class Event
 {
    public int Id {get;set;}
    public string Name {get;set;}
    public date Date {get;set;}
    public int PromoterId {get; set;}

    public virtual Promoter Promoter {get;set;}
 }

И у меня есть контроллер Events

public class EventsController : Controller
{
   public ActionResult New()
   {
        return View()
   }
   [HttpPost]
   public ActionResult New(Model model)
   {
       // do stuff to save the new Event related to Promotion
   }
}

, поэтому мойпроблема в том, что на Новое действие , как мне убедиться, что Новое представление сможет иметь идентификатор, с которым Промоутер будет связан?Я думаю, что скрытый для которого есть PromotionId , так что когда будет вызван пост, Id будет там, но мне придется пройти промоутер Id, когда я вызываю действие New ?Или вы думаете, что я должен сохранить данные Промоутера в куки, прежде чем перейти на эту страницу?Еще одно замечание: пользователь будет аутентифицирован и должен будет войти в систему, чтобы иметь доступ к контроллеру Promotion (не показан в этой теме), а затем на этом контроллере пользователь может перейти к указанному Контроллер событий , который будет иметь новое действие ...

Надеюсь, это имеет смысл.Нужен совет, мысли / идеи очень ценятся.

Спасибо,

G

1 Ответ

1 голос
/ 28 сентября 2011

Вы думаете правильно, вам нужно передать продвижение ID новому действию, а действие должно передать его представлению. Это также возможно через cookie, но я думаю, что параметр action более удобен - потому что параметр action будет в URL, поэтому пользователь может даже добавить его в закладки, отправить другому пользователю и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...