2

asp.net ウェブサイトのサンプル アプリケーションMVCMovieApplicationから ASP.Net MVC を学ぼうとしています。このアプリケーションは、MVC3 用に作成されました。私は下の部分で立ち往生しています。誰かがこの問題で私を助けることができますか?

public ActionResult Edit(int id = 0)
{
    Movie movie = db.Movies.Find(id);
    if (movie == null)
    {
        return HttpNotFound();
    }
    return View(movie);
}

エラー:

The Name 'HTTPNotFound' does not exist in the current context.
4

1 に答える 1

3

HttpNotFoundメソッドと関連するHttpStatusCodeResultおよびその継承など HttpNotFoundResultは、MVC3 で追加された新機能です。そのため、MVC2 では機能しません。

したがって、MVC3 にアップグレードするか (MVC4 も今週の時点で RTM としてリリースされています)

ActionResultまたは、独自に作成して 404 ステータス コードを返すこともできます。

public class HttpNotFoundResult : ActionResult
{
    private const int NotFoundCode = 404;

    public override void ExecuteResult(ControllerContext context)
    {
        if (context == null)
        {
            throw new ArgumentNullException("context");
        }

        context.HttpContext.Response.StatusCode = NotFoundCode;
    }
}

そして、あなたのアクションメソッドで:

public ActionResult Edit(int id = 0)
{
    Movie movie = db.Movies.Find(id);
    if (movie == null)
    {
        return new HttpNotFoundResult();
    }
    return View(movie);
}
于 2012-08-17T11:53:42.917 に答える