すぐに私の質問は次のとおり です。ビューがあります-モデルタスクに強く型付けされています。ビューには、後でコントローラーに渡すフォームがあります。ビューの task.CreationUserId に値を割り当てたい。値は ViewBag を使用してビューに表示されましたが、重要ではありません。構文は何ですか?
全文を読みたい方は:
タスクを作成するビューがあります。ビューは、タスク モデルに強く型付けされます。タスクのパラメーターの 1 つに taskCreationUserID があります。
最初に、パラメーター CurrentuserId として取得するコントローラーがあります
public ActionResult CreateForEdit(int id)
{
ViewBag.AmountsId = new SelectList(db.Amounts1, "Id", "Interval");
ViewBag.TaskStatusesId = new SelectList(db.TaskStatuses, "Id", "Status");
ViewBag.TaskTypesId = new SelectList(db.TaskTypes, "Id", "Type");
ViewBag.CreationUserID = new SelectList(db.Users, "Id", "UserName");
ViewBag.UserId = id;
return View();
}
それはこのビューを呼び出します:
@using (Html.BeginForm()) {
@Html.ValidationSummary(true)
<fieldset>
<legend>Task</legend>
@Html.HiddenFor(model => model.Id)
div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
等々...
次に、コントローラーを使用してこのタスクを保存します。
[HttpPost]
public ActionResult CreateForEdit(Task task)
{
if (ModelState.IsValid)
{
task.CreationDate = DateTime.Now;
task.Piority = "p2";
task.TaskStatusesId = 1;
task.CreationUserID = UserId;
db.Tasks.Add(task);
db.SaveChanges();
return RedirectToAction("Index", new { id = UserId });
}
問題は、ViewBag.UserId の値をビューにどのように配置して、それが task.CreationUserID としてコントローラーに返されるかということです。