10

だから私はと呼ばれるHttpPost唯一のものを持っています。そのこと(ロジックなど)を行った後、別のコントローラーにリダイレクトしたい。としましょう。ここにあります:ActionResultEditHomeController

[HttpPost]
public ActionResult Edit(Chair chair, string xml)
{
    if (ModelState.IsValid)
    {
        try
        {
            _repository.EditChair(chair, xml);
            return RedirectToRoute(new { contoller = "Home", action = "index"});
        }
        catch (Exception ex)
        {
            //error msg for failed edit in XML file
            ModelState.AddModelError("", "Error editing record. " + ex.Message);
        }
    }
    return View(Chair);

}

return RedirectResult()RedirectToAction()、 -などの他のことを試しまし たが、メソッドが ( ) にRedirectToRoute("string")あるコントローラーからインデックスビューを返し続けます。EditChairController

これを行う正しい方法は何ですか??

4

2 に答える 2

21

打ち間違え:

contoller = "Home"

する必要があります

controller = "Home"

また:

return RedirectToAction("index", "home");
于 2011-08-31T10:05:50.220 に答える
5

これまでで最も奇妙なことがこれを引き起こしました。コードは正しかった(私が最初から確信していたように)。もう一度デバッグしようとしましたが、コードを調べていくと、デバッガーがコードの一部しかマークアップしていないことに気付きました。return RedirectToAction("Index",実際にはそこで停止し、を通過しませんでした"Home");。また、ブレークポイントが実際には黄色で、ソースコードが元のコードと同じではないことを教えてくれたことにも気づきました。なに?何百もの保存、再起動、ビルド、再構築を通じて、それは言い続けました。突然、コードを受け入れ、ブレークポイントが赤に変わり、コードは正常に機能しました。

あなたの時間を無駄にすることを本当に申し訳ありません!

于 2011-08-31T11:55:54.377 に答える