亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

更新實體時序列不包含任何元素

更新實體時序列不包含任何元素

C#
SMILET 2022-11-21 16:51:57
我想更新我的產品實體,但每當我提交表單時,它都會拋出:System.InvalidOperationException:“序列不包含任何元素”這是我的觀點:@model myadminpanel.Models.product@using (Html.BeginForm()){    <div class="container">        <div class="form-group">            <label>ProductName</label>            @Html.TextBoxFor(x => x.ProductName, new { @class = "form-control" });        </div>        <div class="form-group">            <label>ProductDescription</label>            @Html.TextBoxFor(x => x.ProductDescription, new { @class = "form-control" });        </div>        <div class="form-group">                    <label>Price</label>            @Html.TextBoxFor(x => x.Price, new { @class = "form-control" });        </div>        <div class="form-group">            <label>Quantity</label>            @Html.TextBoxFor(x => x.Quantity, new { @class = "form-control" });        <div class="button">                    <button>Submit</button>                </div>            </div>}我的控制器編輯代碼是這樣的:public ActionResult ProductEdit(int id){    var item = db.products.Where(x => x.ProductID == id).First();    return View(item);}[HttpPost]public ActionResult ProductEdit(product model){    var item = db.products.Where(x => x.ProductID == model.ProductID).First();    item.ProductName= model.ProductName;    item.ProductDescription = model.ProductDescription;    item.Price = model.Price;    item.Quantity = model.Quantity;    db.SaveChanges();    return View();}這是我的產品模型:namespace myadminpanel.Models{    using System;    using System.Collections.Generic;    public partial class product    {        public int ProductID { get; set; }        public string ProductName { get; set; }        public string ProductDescription { get; set; }        public Nullable<decimal> Price { get; set; }        public Nullable<int> Quantity { get; set; }        public string CategoryName { get; set; }        public Nullable<int> CategoryID { get; set; }        public virtual category category { get; set; }    }}
查看完整描述

1 回答

?
繁星coding

TA貢獻1797條經驗 獲得超4個贊

您的表單不包含您正在修改的實體的 ID,所以這個


var item = db.products.Where(x => x.ProductID == id).First();

運行為


var item = db.products.Where(x => x.ProductID == 0).First();

并且沒有任何 ID = 0 的產品,因此First無法找到第一個匹配項(因為沒有任何匹配項)。


因此,將 ID 添加為隱藏字段:


@using (Html.BeginForm())

{

     @Html.HiddenFor(model => model.ProductID)


    <div class="container">  

    ...


查看完整回答
反對 回復 2022-11-21
  • 1 回答
  • 0 關注
  • 109 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號