如何使用cookie使用MVC将数据库信息从一个页面传输到另一个页面

时间:2016-02-26 19:59:19

标签: c# asp.net asp.net-mvc asp.net-mvc-4 cookies

我是ASP.NET框架的完全先驱,对MVC如何工作知之甚少,我的任务是使用以下信息在MVC中创建数据库 -

ASP.NET:
public class Charity
    {
        public int ID { get; set; }
        public string DisplayName { get; set; }
        public DateTime Date { get; set; }
        public Double Amount { get; set; }
        public Double TaxBonus { get; set; }
        public String Comment { get; set; }
    }

    public class CharityDBContext : DbContext //controls information in database 
    {
        public DbSet<Charity> Donations { get; set; } //creates a donation database
    }

最后一个类用于创建数据库,数据库本身也可以工作。但是,我希望用户在点击“立即捐赠”按钮后使用cookie在第二页上显示数据库信息 -

<p>
    @Html.ActionLink("Donate Now", "Create")
</p>

如何在MVC中创建cookie?我应该创建一个新类吗?还是一个新的控制器?对此感到抱歉,大学讲师并没有真正教会我们,因为这是一门新课程。

1 个答案:

答案 0 :(得分:0)

More Information

据我所熟知,有四种不同的方法可以处理asp.net MVC中控制器之间的数据传递。它们是1.ViewData 2. ViewBag 3. TempData和4. Sessions。

第一个控制器中的代码:

TempData["sendFlag"] = sendStoredInfo;
return RedirectToAction("LoginFailed");

第二个控制器中的代码:

public ActionResult LoginFailed()
{
   bool sendFlag = TempData.ContainsKey("sendFlag")? TempData["sendFlag"]: false;
}

或在您的重定向中尝试使用

return RedirectToAction("Index", "Nome", new{ username: username})

但是你的控制器的动作必须具有(字符串用户名)的参数,如

public ActionResult Index(string username)
{
    return View();
}