![](/img/trans.png)
[英]When is it “acceptable” to use ViewBag/ViewData in ASP.NET MVC?
[英]Why do we have ViewBag and ViewData, if they are doing the same thing in ASP.NET Core MVC
如果ViewBag
和ViewData
在 ASP.NET Core MVC 中做同樣的事情,為什么我們會有它們? 有什么是ViewBag
可以做而ViewData
不能做的 - 反之亦然?
任何特定情況下我應該何時更喜歡其中一個?
它們相似,但主要區別在於 ViewBag 使用動態類型,允許使用不太復雜的語法。
ViewBag.Example=DateTime.Now;
<p>Result: ViewBag.Example.Year </p>
與此相反,與 ViewData 相同的可能是:
ViewData["Example"]=DateTime.Now;
<p>Result: @((ViewData["Example"] As DateTime).Year) </p>
因此,使用 ViewData 您需要強制轉換,並且在執行“重命名”時可能會收到錯誤,例如,您將無法獲得 Intellisense 的幫助。
此外,它似乎“更慢”(但不足以成為問題)。 示例: MVC 中的 ViewBag 與 ViewData 性能差異?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.