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