2016-02-26 80 views
0

我是一個完整的ASP.NET框架,對MVC的工作方式知之甚少,我的任務是在MVC中創建一個數據庫以下信息 -如何使用cookie將數據庫信息從一個頁面傳輸到另一個頁面使用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產生的呢?我應該創建一個新的類嗎?或新的控制器?對此感到遺憾,大學的講師並沒有真正教會我們,因爲這是一個新課題。

+1

爲什麼不將ID作爲路由參數發送到「創建」頁面並從數據庫中獲取?當然,從高性能數據庫獲取它比通過消費者Internet連接來回傳遞效率更高。 –

+0

感謝您的幫助:) – Edafy

+0

N.b.這意味着根本不使用cookie。 –

回答

0

More Information

至於我的知識所及,四種不同的方法存在是爲了處理在asp.net MVC控制器之間的數據傳遞。它們是1. ViewData 2. ViewBag 3. TempData和4.會話。

碼在第一控制器:在第二控制器

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(); 
} 
+0

'ViewData'和'ViewBag'不能用於在控制器之間傳遞信息。而'TempData'是'Session' –

相關問題