创建会话以在同一方法中使用值

时间:2016-01-05 05:15:44

标签: c# asp.net-mvc asp.net-mvc-3 session pagination

这是将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),我限制了分页,每页一个文本区域。

这是视图

enter image description here

我希望在上面的方法中使用上面的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);

    }

但它没有保留任何价值

0 个答案:

没有答案