というアトリビュートの画像と呼ばれるmodel
と、postという別のmodel
という画像があります。ユーザーはそれに画像を追加するためにポストをクリックすると、リストview
では、それが正常に動作しますが、私はPostId
としてModel
画像であること保存する必要がHtmlActionLink
mvcでidをコントローラに渡す方法
@Html.ActionLink("Add Images", "AddImages", new { id = item.PostID })
経由PostID
を渡しますよく
public ActionResult AddImages(int id)
{
ImageViewModel images = new ImageViewModel();
images.PostID = id;
return View(images);
}
[HttpPost]
public ActionResult AddImages(ImageViewModel image, HttpPostedFileBase images)
{
Image newImage = new Image();
newImage.PostID = image.PostID;
return View("Index");
}
それは動作しません。この方法では、それが保存するときに、PostID
の値は0です。私もViewBag
を使用してみましませんが、今のところ何の運。 AddImages View
では、TextBoxFor
またはPostID
属性のものはありません。ユーザーによって設定または表示されないためです。
モデルのIDを格納するビューに入力を作成します。通常、隠された入力。 – Nkosi
ビューモデルプロパティの名前を 'PostID'ではなく' ID'に変更すると、何もする必要はありません。フォーム 'action'属性のルート値として追加されます(HiddenFor()はありません)。ビューで必要) –