3

asp.net MVC3 でプロジェクトに取り組んでいます。プロジェクトを実行してログインすると、UserProfile という名前のコントローラーがあり、エラー A public action method images was not found on controller UserProfile が表示されます。

どのコントローラーにも images という名前のアクション メソッドはありません。以下は、UserProfile の index メソッドです。

[CustomAuthorizeAttribute]
    public ActionResult Index()
    {
        var userName = string.Empty;
        if (SessionHelper.GetSession("login") != null)
        { userName = SessionHelper.GetSession("login").ToString(); }
        else
        { return View(); }

        SessionHelper.SetSess("issetup", null);
        UserProfileModel model = GetUserProfileData(userName);
        StateandCityDropdown();
        return View(model);
    }

ユーザープロファイルのインデックスビューには、データを入力するためのテキストボックスとその他のフィールドを含む2つのフォームと、画像をアップロードするための2つのフォームがあります

4

1 に答える 1

0

ルートがあなたが持っているURLを拾い上げて、アクションと間違えているように私には聞こえます。/ User / Imagesなどのコントローラに一致するディレクトリの下に画像ディレクトリへのリンクがある可能性があります。ルーティングでは、画像アクションがない場合に画像アクションが発生することが想定されるため、このエラーが発生します。画像フォルダにリンクしているが画像が含まれていないものがないか、ページソースを確認してください。もう1つのオプションは、ルートが画像と必要なアクションを取得することです。これがGlobal.asax.csファイルに当てはまる場合は、RegisterRoutesメソッドに画像の無視が含まれていることを確認してください。

       routes.Ignore("{*allpng}", new { allpng = @".*\.png(/.*)?" });
       routes.Ignore("{*allgif}", new { allgif = @".*\.gif(/.*)?" });
       routes.Ignore("{*alljpg}", new { alljpg = @".*\.jpg(/.*)?" });

これがアンディに役立つことを願っています

于 2012-09-24T08:21:18.183 に答える