Asp.net mvc 4 使用子表更新产品表。控制器的Razor代码和更新代码工作正常,但[HTTPPOST]代码不工作,出现错误 @foreach(ViewBag.subProduct中的变量sprd) { @子产品价格标题 @Html.Hidden(“title1”,(string)@sprd.subproduct\u pricetitle) @Html.Hidden(“subid”,(int)@sprd.subproduct\u id) &磅; @TextBox(“combined-input1”(十进制)@sprd.subproduct_price,new{@class=“row fluid”}) }

Asp.net mvc 4 使用子表更新产品表。控制器的Razor代码和更新代码工作正常,但[HTTPPOST]代码不工作,出现错误 @foreach(ViewBag.subProduct中的变量sprd) { @子产品价格标题 @Html.Hidden(“title1”,(string)@sprd.subproduct\u pricetitle) @Html.Hidden(“subid”,(int)@sprd.subproduct\u id) &磅; @TextBox(“combined-input1”(十进制)@sprd.subproduct_price,new{@class=“row fluid”}) },asp.net-mvc-4,razor,controller,Asp.net Mvc 4,Razor,Controller,这是一个用于在查看页面上显示数据的代码 @foreach (var sprd in ViewBag.subProduct) { <div class="form-row control-group row-fluid"> <div class="controls span2">

这是一个用于在查看页面上显示数据的代码

@foreach (var sprd in ViewBag.subProduct)
                       {
                            <div class="form-row control-group row-fluid">
                                <div class="controls span2">
                                    <select id="text" style="visibility: hidden;"></select>
                                </div>
                                <div class="controls span2">
                                    @sprd.subproduct_pricetitle
                                    @Html.Hidden("title1", (string)@sprd.subproduct_pricetitle)
                                </div>
                                @Html.Hidden("subid", (int)@sprd.subproduct_id)
                                <div class="controls span2">
                                    <div class="input-prepend input-append row-fluid">
                                        <span class="add-on prepend ">&pound; </span>
                                        @Html.TextBox("combined-input1", (decimal)@sprd.subproduct_price, new { @class = "row-fluid" })
                                    </div>
                                </div>
                            </div>
                        }
public ActionResult更新(int-id)
{
IEnumerable Product_Typee;
int producttypeid=Convert.ToInt32(context.product\u master.Find(id.product\u type.ToString());
Product_type=context.producttype_master.ToList();
ViewBag.productType=新的选择列表(产品类型E,“产品类型id”,“产品类型名称”,产品类型id);
可数产品;
products=context.product_master.ToList();
//List sprdList=context.subproduct_master.Where(m=>m.product_id==id).ToList();
IEnumerable sprdList=context.subproduct_master.Where(m=>m.product_id==id).ToList();
ViewBag.subProduct=sprdList;
返回视图(context.product_master.Find(id));
}
此更新代码工作不正常,出现错误。 [HttpPost] 公共操作结果更新(产品主控prdmaster、子产品主控子控prdmaster、FormCollection FormCollection) {

 public ActionResult Update(int id)
    {
        IEnumerable<producttype_master> Product_Typee;
        int producttypeid = Convert.ToInt32(context.product_master.Find(id).product_type.ToString());
        Product_Typee = context.producttype_master.ToList();
        ViewBag.productType = new SelectList(Product_Typee, "producttype_id", "producttype_name", producttypeid);

        IEnumerable<product_master> products;
        products = context.product_master.ToList();
        //List<subproduct_master> sprdList = context.subproduct_master.Where(m => m.product_id == id).ToList();
        IEnumerable<subproduct_master> sprdList = context.subproduct_master.Where(m => m.product_id == id).ToList();
        ViewBag.subProduct = sprdList;

        return View(context.product_master.Find(id));
    }
product_master prd=context.product_master.Where(m=>m.product_id==prdmaster.product_id).FirstOrDefault();
如果(prd!=null)
{
prd.product_type=int.Parse(formCollection[“PrdType]”);
prd.product_updateby=1;
prd.product_updateon=DateTime.Now;
prd.product_isactive=“1”;
subproduct_master sprdList=context.subproduct_master.Where(m=>m.product_id==prd.product_id).FirstOrDefault();
if(sprdList!=null)
{
//字符串latestId=context.product\u master.Max(p=>p.product\u id.ToString();
对于(int i=1;i m.subproduct_id==sprdList.subproduct_id).FirstOrDefault();
sprdList2.subproduct_price=decimal.Parse(formCollection[“组合输入”+i]);
sprdList2.subproduct_pricevalidity=Convert.ToDateTime(formCollection[“datepicker1]”);
sprdList2.subproduct_updatedon=DateTime.Now;
sprdList2.subproduct_updatedby=1;
sprdList2.subproduct_isactive=“1”;
context.Entry(sprdList2).CurrentValues.SetValues(sprdList);
//SaveChanges();
sprdList2.子管道_id++;
}
}
context.Entry(prd).CurrentValues.SetValues(prdmaster);
SaveChanges();
}
返回视图(prdmaster);
}
        product_master prd = context.product_master.Where(m => m.product_id == prdmaster.product_id).FirstOrDefault();
        if (prd != null)
        {
            prd.product_type = int.Parse(formCollection["PrdType"]);
            prd.product_updateby = 1;
            prd.product_updateon = DateTime.Now;
            prd.product_isactive = "1";

            subproduct_master sprdList = context.subproduct_master.Where(m => m.product_id == prd.product_id).FirstOrDefault();
           if (sprdList != null)
            {

                //string latestId = context.product_master.Max(p => p.product_id).ToString();

                for (int i = 1; i <= 7; i++)
                { 
                    subproduct_master sprdList2 = context.subproduct_master.Where(m => m.subproduct_id == sprdList.subproduct_id).FirstOrDefault();
                    sprdList2.subproduct_price = decimal.Parse(formCollection["combined-input" + i]);
                    sprdList2.subproduct_pricevalidity = Convert.ToDateTime(formCollection["datepicker1"]);
                    sprdList2.subproduct_updatedon = DateTime.Now;
                    sprdList2.subproduct_updatedby = 1;
                    sprdList2.subproduct_isactive = "1";
                    context.Entry(sprdList2).CurrentValues.SetValues(sprdList);
                    //context.SaveChanges();
                    sprdList2.subproduct_id++;
                }

            }
           context.Entry(prd).CurrentValues.SetValues(prdmaster);
           context.SaveChanges();

      }
        return View(prdmaster);
        }