2015-07-21 2 views
-1

Я пытаюсь использовать ViewModel так, как мне нравится, как он проверяет.Populate Просмотреть выбранные записи ViewModel

Мои ViewModel:

public class CCvm 
{ 
    [Required(ErrorMessage = "Please enter your Name")] 
    public string cardHolderName { get; set; } 
    [Required(ErrorMessage = "Please enter your Credit Card Number")] 
    public string cardNumber { get; set; } 
    [Required(ErrorMessage = "Please enter your Expiration Date MMYY")] 
    [StringLength(4, ErrorMessage = "Expiration Date Format MMYY", MinimumLength = 4)] 
    public string cardExpirtyDate { get; set; } 

    public Wholesale wholesale { get; set; } 
} 

Как я могу передать выбранное лицо в оптовику и данные карты с точки зрения?

Мой контроллер:

public ActionResult Pay() 
{ 
    if (Session["wID"] == null) 
    { 
     return RedirectToAction("Index"); 
    } 
    ViewBag.Step = 2; 
    if (Session["wID"] == null) 
    { 
     return new HttpStatusCodeResult(HttpStatusCode.BadRequest); 
    } 
    //Wholesale wholesale = db.Wholesales.Find(Session["wID"]); 
    int wID=Convert.ToInt32(Session["wID"]); 
    CCvm ccvm = new CCvm(); 
    var dude = from d in db.Wholesales 
       where d.ID==wID 
       select d; 
    ccvm.wholesale = (dude.ToList()); 
    if (ccvm == null) 
    { 
     return HttpNotFound(); 
    } 
    return View(ccvm); 
} 

View имеет поле из таблицы Оптовика, что я хочу использовать виртуальную машину для проверки и контроллер для обновления. Он также имеет информацию о карте, в которой мне нужна виртуальная машина, чтобы проверить и передать контроллер для обработки.

@Html.EditorFor(model => model.FirstName) 
@Html.ValidationMessageFor(model => model.FirstName, "", new { htmlAttributes = new { @placeholder = "First Name Please", @class = "text-danger" } }) 

<input type="text" name="cardExpirtyDate" style="width:40px" />MMYY 
<br />@Html.ValidationMessageFor(model => model.cardExpirtyDate) 
+1

Я бы взял тот же подход, что и поля кредитных карт, и добавил LastName, FirstName и т. Д. На том же уровне. Другим вариантом будет Опция ViewModel. IAC, вы можете использовать automapper, чтобы облегчить боль. https://lostechies.com/jimmybogard/2009/06/30/how-we-do-mvc-view-models/ –

+0

Стив, я шел по автомашине, но не хватило времени. Если вы разместите какой-то код в качестве ответа, я бы очень его оценил и, конечно же, отметил как ответ. –

ответ

0

В зависимости от проекта, вы можете использовать Model-View-ViewModel шаблон (https://msdn.microsoft.com/en-us/library/Ff798384.aspx). Вот хорошая статья на эту тему с помощью automapper: https://lostechies.com/jimmybogard/2009/06/30/how-we-do-mvc-view-models

Если вы хотите увидеть аргументы со стороны счетчика, вот статья, которая обсуждает пункты: http://www.uglybugger.org/software/post/friends_dont_let_friends_use_automapper

Лично я нашел шаблон ViewModel с automapper, чтобы работать очень хорошо для форм над проектами типа данных.

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