将 date.now 添加到一个控制器,其中的代码全部准备就绪

本文关键字:控制器 准备就绪 全部 代码 一个 添加 now date | 更新日期: 2023-09-27 18:31:02

我的控制器中有以下代码:

// GET: /Review/Create
public ActionResult Create()
    {
        var userGames = db.tblGames.Where(g => g.UserName == User.Identity.Name);
        ViewBag.GameIDFK = new SelectList(userGames, "GameID", "GameName");
        return View(new tblReview { UserName = @User.Identity.Name });
    } 

发布:/审查/创建

    [HttpPost]
    public ActionResult Create(tblReview tblreview)
    {
        if (ModelState.IsValid)
        {
            db.tblReviews.Add(tblreview);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        var userGames = db.tblGames.Where(g => g.UserName == User.Identity.Name);
        ViewBag.GameIDFK = new SelectList(userGames, "GameID", "GameName");
        return View(new tblReview { UserName = @User.Identity.Name });
    }

我想在其中添加以下代码行:

        return View(new tblReview { Posted = DateTime.Now });

但是我不知道如何将代码组合在一起。我尝试过 If 语句,但应用程序分崩离析,因为它只是到处抛出错误。

我想将它们一起添加到代码中的原因是,当撰写评论时,查看者可以看到评论的发布日期。我的数据库表和模型中有一个已发布的属性,如下所示:

namespace TestWebSite.Models
{
    using System;
    using System.Collections.Generic;
    public partial class tblReview
    {
        public int ReviewID { get; set; }
        public string Recomendation { get; set; }
        public string AvoidOrBuy { get; set; }
        public string Score { get; set; }
        public System.DateTime Posted { get; set; }
        public int GameIDFK { get; set; }
        public string UserName { get; set; }
        public virtual tblGame tblGame { get; set; }
    }
}

谢谢

如果您需要更多信息,请询问我

将 date.now 添加到一个控制器,其中的代码全部准备就绪

我管理我不太了解tblReviewNewsItem的关系形式,但是如果您想公开该信息而不在ViewModel中设置它,我认为唯一的方法是使用ViewBag。

类似的东西

ViewBag.NewsItem = new NewsItem() { Posted = DateTime.Now };

然后从视图中访问它。

老实说,我会创建一个特定的视图模型,其中包含视图所需的所有信息,但如果没有其他方法,我想这是一种替代方案。

更新

在您进行更改后,我不明白为什么这不应该起作用

return View(new tblReview { UserName = @User.Identity.Name, Posted = DateTime.Now });