这是将15个文本区域加载到Add_New_Product
表单页面的代码段。
public ActionResult Add_Product(int? page)
{
var dummyItems = db.AB_ProductTypeCategoryField;
var pager = new PaginationModel.Pager(dummyItems.Count(), page);
var model = new AddNewProduct
{
ListProductFields = dummyItems.OrderBy(i => i.ProductFieldID).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),
Pager = pager
};
return View(model);
}
由于在这个表单页面有很多文本区域(如15),我限制了分页,每页一个文本区域。
这是视图
我希望在上面的方法中使用上面的ListProductFields
数据。
但是,一旦我将a值插入第一个文本区域,然后转到下一个文本区域,再次点击上一个按钮,然后第一个文本区域的附加值正在消失。
我决定提出sessions
,所以我更改了以上代码
尝试1:
public ActionResult Add_Product(int? page, AddNewProduct sample)
{
AddNewProduct newmodel = sample;
AddNewProduct newmodels = Session["TemplateData"] as AddNewProduct;
var dummyItems = db.AB_ProductTypeCategoryField;
var pager = new PaginationModel.Pager(dummyItems.Count(), page);
var model = new AddNewProduct
{
ListProductFields = dummyItems.OrderBy(i => i.ProductFieldID).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),
Pager = pager
};
Session["TemplateData"] = model;
return View(model);
}
修改
尝试2:
public ActionResult Add_Product(int? page, AddNewProduct sample)
{
TempData["AddNewProduct"] = sample;
AddNewProduct book = TempData["AddNewProduct"] as AddNewProduct;
var dummyItems = db.AB_ProductTypeCategoryField;
var pager = new PaginationModel.Pager(dummyItems.Count(), page);
var model = new AddNewProduct
{
ListProductFields = dummyItems.OrderBy(i => i.ProductFieldID).Skip((pager.CurrentPage - 1) * pager.PageSize).Take(pager.PageSize).ToList(),
Pager = pager
};
sample = model;
return View(model);
}
但它没有保留任何价值