Это может быть очень просто, но я не могу разобраться в этом сам. Я создал простой db и сущность модальный, который выглядит следующим образом
Я пытаюсь создать форму "Создать", которая позволяет мне добавить новый заказ. У меня есть в общей сложности 3 таблицы, поэтому я пытаюсь создать форму, позволяющую человеку ввести дату заказа, а также выпадающий список, который позволяет мне выбрать продукт из таблицы продуктов.
Я хочу иметь возможность создать представление "Добавить" или "Изменить", которое позволит мне вставить OrderDate в OrderTable, а также вставить OrderID и выбранный ProductID в OrderProduct.
Какие шаги мне нужно сделать здесь.
Я создал OrderController и пометил "Добавить действия", а затем добавил Create View, который выглядит следующим образом:
@model Test.OrderProduct
@{
ViewBag.Title = "Create2";
}
<h2>Create2</h2>
<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>OrderProduct</legend>
<div class="editor-label">
@Html.LabelFor(model => model.OrderID)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.OrderID)
@Html.ValidationMessageFor(model => model.OrderID)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.ProductID)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.ProductID)
@Html.ValidationMessageFor(model => model.ProductID)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
<div>
@Html.ActionLink("Back to List", "Index")
</div>
Это создает представление, содержащее текстовое поле для OrderID и ProductID, но не дату.
Мой контроллер CreatePost не был изменен
[HttpPost]
public ActionResult Create(FormCollection collection)
{
try
{
var data = collection;
// TODO: Add insert logic here
// db.Orders.AddObject(collection);
return RedirectToAction("Index");
}
catch
{
return View();
}
}
Мои вопросы:
1. Как я могу поменять текстовое поле ProductID на раскрывающееся меню, которое заполняется из продукта 2.Как получить данные из коллекции FormCollection? Я думал только о foreach, однако я не знаю, как получить строго типизированное имя
Любая помощь для новичков будет очень полезной.
Спасибо!