0

私はいくつかの組み込みメソッドを持っていBootstrapBaseController.csます

public void Success(string message)
{
    TempData.Add(Alerts.SUCCESS, message);
}

まだ使用していませんが、このメソッドに渡す成功メッセージが表示されると思います。という別のコントローラーでこのメソッドを使用したいと考えていますPortalController。次のメソッドでは、ユーザーがデータベースに追加されたときに成功メッセージを表示したいと考えています。

提案?

[HttpPost]
        public ActionResult Register(RegisterModel user)
        {
            if (ModelState.IsValid && (user.Password == user.ConfirmPassword))
            {
                var regUser = _db.Users.Create();

                regUser.UserName = user.UserName;
                regUser.Password = user.Password;

                _db.Users.Add(regUser);
                _db.SaveChanges();
            }
            return View();
        }
4

2 に答える 2

0
  1. PortalController を BootstrapBaseController から継承させる
  2. View 呼び出し成功を返す前に、メッセージを設定します
  3. _layout.cshtml ビューで (そして、すべてのビューがこのレイアウトを継承して使用すると想定しています)、その一時変数を確認し、メッセージを表示します。

更新されたコントローラー メソッド:

[HttpPost]
public ActionResult Register(RegisterModel user)
{
    if (ModelState.IsValid && (user.Password == user.ConfirmPassword))
    {
        var regUser = _db.Users.Create();

        regUser.UserName = user.UserName;
        regUser.Password = user.Password;

        _db.Users.Add(regUser);
        _db.SaveChanges();
    }
    Success("User Created successfully");

    return View();
}

_Layout.cshtml

@if (TempData["VariableName"] != null)
    {
        <div>@TempData["VariableName"]</div>
    }
于 2013-05-31T12:41:56.427 に答える