3

我正在处理 asp.net MVC3 上的一个项目,当我运行我的项目并登录时,我有一个名为 UserProfile 的控制器,它显示错误 A public action method images was not found on controller UserProfile

我的任何控制器中都没有任何名为 images 的操作方法,下面是我的 UserProfile 的索引方法

[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);
    }

我在用户配置文件索引视图上有两个表单,一个带有一些文本框和其他用于输入数据的字段,第二个用于上传图像

4

1 回答 1

0

在我看来,这些路线正在获取您拥有的网址并将它们误认为是一项操作。可能是您有一个指向与您的控制器匹配的目录下的图像目录的链接,例如 /User/Images 会导致此错误,因为当您没有时,路由会期望您执行 Images 操作。检查页面源中是否有任何链接到图像文件夹但不包含图像的内容。另一种选择是路线正在拾取图像以及您希望它们执行的操作。如果您的 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 回答