介绍: 我是一名.NET学生,正在学习ASP.NET Core MVC,请您谅解。我已经在网上搜索了问题的答案,但没有找到适合我的解决方案。
问题: 我想在创建帖子方法中传递验证消息到索引IActionMethod,每当创建了帖子就将其作为警报消息显示出来。我在网上阅读到,ViewBag无法在重定向时保留,但TempData可以。这是我的代码。
创建帖子方法:
public IActionResult CreatePost(string textContent, string headline, string type)
{
var catType = new Category() { CategoryType = type.ToUpper() };
if (db.Category.Any(s => s.CategoryType.Trim().ToLower() == type.Trim().ToLower()))
catType = db.Category.FirstOrDefault(s => s.CategoryType.Trim().ToLower() == type.Trim().ToLower());
var newPost = new Post()
{
Content = textContent,
Header = headline,
DateOfPost = DateTime.Now,
category = catType
};
db.Posts.Add(newPost);
db.SaveChanges();
TempData["validation"] = "Your post hase been publsihed";
return RedirectToAction("Index");
}
索引方法:
public IActionResult Index()
{
var validation = TempData["validation"];
var posts = (from x in db.Posts
orderby x.DateOfPost descending
orderby x.PostID descending
select x);
return View(posts);
}
我尝试了这个指南:ClickThis和这一个:ClickThis2 但是我得到了这个消息:
我知道第二个指南中的这行代码可能很重要,但不知道如何应用它。-
var product = TempData["myTempData"] as Product;
我最后想做的事情是将其传递给索引视图,但不知道如何传递。 我目前正在从索引传递一个模型。
如果有更多需要查看的内容,请告诉我。 像依赖项之类的。
我非常感谢您提供的任何帮助!