0

私は Web サイトで作業しています。登録用の Web サイトにビューがあり、サインアップ ボタンを押すと ActionMethod が表示されます。登録が成功した後、ユーザーが URL で Enter キーを押すと問題が発生します。リソースが見つかりません。どうすればこれを処理できますか? 以下は私のコントローラーコードです==>

 public ActionResult Join(SignUpModel model)
        {        
                int create = Repository1.Create(UserEntity);
                if (create > 0)//if <= 0 means username already exists
                {
                    int savesetup = Repository2.SaveInfo(model);                                        
                    TempData["SucessMsg"] = "User registered Successfully";
                    return View("Index");
                }
                if (create < 0)
                {
                    TempData["ErrorMessage"] = "Username already exists";
                    return View("Index", model);
                }         

            return RedirectToAction("Index", "SignUp");
        }

サインアップのビューはインデックスビューです

public ActionResult Index()
        {         
            return View();
        }

参加という名前のビューがないため、代わりにインデックスページにリダイレクトしていますが、ユーザーがサインアップ/参加 URL で Enter キーを押すと、リソースが見つかりませんと表示されます

4

2 に答える 2

1

ActionResult Join(SignUpModel model)[HttpPost] 属性でマークされていますか? その場合、ユーザーが POST リクエストを行った場合にのみ呼び出されます (URL 自体を入力すると、GET リクエストが実行されます。この場合は、[HttpPost] なしで Join() という別のアクション メソッドを追加するだけです)。 -attribute を使用し、それを使用してそれらを正しいページにリダイレクトします (または、もちろん必要な情報を表示します)。

編集

あなたの質問を読んだとき、私は少し急いで、あなたがすでにユーザーを からリダイレクトしたことを見逃していActionResult Join(SignUpModel model)ました。申し訳ありません。

于 2012-08-30T07:43:44.373 に答える
0

Index という名前のビューがあるかどうかを確認しましたか。

    return RedirectToAction("Index", "SignUp");
    }

    public ActionResult Index()
    {         
        return View();
    }

上記のコードは、Index.return View() という名前のビューがある場合に正しく、MVC で ActionResult と同じ名前のビューを検索します。Index という名前のビューがあることを確認します。index という名前のビューがない場合、ページが見つからないなどのエラー ページが表示されます。

于 2012-08-30T07:41:48.940 に答える