C# 为什么我的视图不显示ViewBag的值?

C# 为什么我的视图不显示ViewBag的值?,c#,asp.net,asp.net-mvc,asp.net-mvc-4,razor,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Razor,我有一个带有帖子和标签的小博客应用程序。这是我的Post模型: namespace HelloWorld.Models { public class Post { [Required] [DataType(DataType.Text)] public string Title { get; set; } [Required] [DataType(DataType.MultilineText)]

我有一个带有帖子和标签的小博客应用程序。这是我的Post模型:

namespace HelloWorld.Models
{
    public class Post
    {
        [Required]
        [DataType(DataType.Text)]
        public string Title { get; set; }

        [Required]
        [DataType(DataType.MultilineText)]
        public string Description { get; set; }

        [Required]
        [DataType(DataType.DateTime)]
        public DateTime PostDate { get; set; }

        public List<Tag> Tags { get; set; }

        [Required]
        public int PostId { get; set; }
    }

    public class CreatePostView
    {
        [Required]
        [DataType(DataType.Text)]
        public string Title { get; set; }

        [Required]
        [DataType(DataType.MultilineText)]
        public string Description { get; set; }

        [Display(Name = "Tags")]
        [Required(ErrorMessage = "Please select a tag")]
        public string SelectedTag { get; set; }
        public SelectList TagList { get; set; }

        [Required]
        public int PostId { get; set; }
    }
}
我对所有帖子的看法(使用modelPost

@foreach(模型中的变量项)
{
@DisplayFor(modeleItem=>item.Title)
@DisplayFor(modelItem=>item.Description)

标记:@ViewBag.Tag

垃圾箱:@ViewBag.Trash

}
ViewBag
在返回视图时使用,而不是重定向到其他操作时使用。基本上,它不会在不同的请求之间持久存在。尝试改用
TempData

TempData["Tag"] = post.SelectedTag.ToString();
并且认为:

<p><strong>Tag: @TempData["Tag"]</strong></p>
标记:@TempData[“标记”]


ViewBag
在返回视图时使用,而不是重定向到其他操作时使用。基本上,它不会在不同的请求之间持久存在。尝试改用
TempData

TempData["Tag"] = post.SelectedTag.ToString();
并且认为:

<p><strong>Tag: @TempData["Tag"]</strong></p>
标记:@TempData[“标记”]


这里的答案是不要使用Viewbag。模型是强类型的,而Viewbag是动态的。不惜一切代价避免它们。这里的答案是不要使用Viewbag。模型是强类型的,而Viewbag是动态的。不惜一切代价避免它们。谢谢!但是,当我使用
TempData.Tag
时,会出现一个错误。然后我使用
TempData[“Tag”]
@Geronimo:它可能是一个字典而不是动态的,这都是免费的代码:)我会更新答案,谢谢!谢谢但是,当我使用
TempData.Tag
时,会出现一个错误。然后我使用
TempData[“Tag”]
@Geronimo:它可能是一个字典而不是动态的,这都是免费的代码:)我会更新答案,谢谢!
<p><strong>Tag: @TempData["Tag"]</strong></p>