为消息框或类似文件创建基本If语句

时间:2012-01-10 19:49:31

标签: c# asp.net asp.net-mvc-3 razor

嗨,大家好我有以下代码(如下所示),我正在尝试更改它(我的代码),这样我就可以显示一个消息框或一些警告说这本书已经使用C#ASP中的if语句保存了。净MVC3

[HttpPost]
    [ValidateInput(false)]
    public ActionResult Create(BooksItem booksitem)
    {
        try
        {
            using (var db = new Booksforsale())
            {
                db.BooksItem.Add(booksitem);
                db.SaveChanges();
            }

            return RedirectToAction("Index");
            }
        catch
        {
            return View();
        }
    }

有没有办法将其更改为If语句,以便在保存消息框或警报时显示已保存。我想真正的简单编码没有任何复杂,这对我来说很难实现。

谢谢

我尝试了以下内容:

    [HttpPost]
    [ValidateInput(false)]
    If public ActionResult Create(BooksItem booksitem)
    {
        try
        {
            if using (var db = new Booksforsale())
            {
                db.BooksItem.Add(booksitem);
                db.SaveChanges();
            }
            else viewbag.message="been added"
            {
            return RedirectToAction("Index");
            }

        catch
        {
            return View();

        }
    }

这没有用到非常感谢谢谢你们所收到的任何帮助都非常感谢

1 个答案:

答案 0 :(得分:1)

您可以将邮件存储在TempData中,以便在重定向后在下一个请求中显示该邮件:

[HttpPost]
[ValidateInput(false)]
public ActionResult Create(BooksItem booksitem)
{
    try
    {
        using (var db = new Booksforsale())
        {
            db.BooksItem.Add(booksitem);
            db.SaveChanges();
        }
        TempData["message"] = "The item has been saved";
        return RedirectToAction("Index");
    }
    catch
    {
        return View();
    }
}

并在您重定向的Index操作内,以从TempData获取邮件并将其传递给视图:

public ActionResult Index()
{
    ViewBag.Message = TempData["message"];
    return View();
}

显然在相应的视图中显示此消息:

<div>@ViewBag.Message</div>