ASP MVC控制器没有触发

时间:2013-08-05 16:49:23

标签: asp.net-mvc asp.net-mvc-4

我知道这是一个常见的问题,但我已经尝试了很多东西而且我无法解决这个问题。我正在生成两个链接:

http://localhost:1757/ViewReport/DeleteFileFromServer?id=orderedList2.png&reportid=3f66320f-a092-4c5e-8321-3a0b6def68c2
http://localhost:1757/ViewReport/Downloading?id=orderedList7.png&reportid=3f66320f-a092-4c5e-8321-3a0b6def68c2

我试图从这两个网址触发底层控制器。 我的routeconfig中有一个条目,这是默认条目:

    routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional}
            );

我的两个控制器功能是:

  [HttpGet]
    public void Downloading(string id,string reportid){//code}
[HttpGet]
    private void DeleteFileFromServer(string id, string reportid){//code}
使用网址时会调用

下载,但会调用DeleteFileFromServer NEVER ,即使它们的控制器名称除外几乎相同。路由配置中有 NO 特殊条目,所以我无法解决这个问题。有任何想法吗?谢谢。

2 个答案:

答案 0 :(得分:4)

DeleteFileFromServer标记为私有。公开。

答案 1 :(得分:2)

查看方法的范围,一个是private,另一个是public,两者都应该是public

[HttpGet]
public void Downloading(string id,string reportid){//code}
[HttpGet]
public void DeleteFileFromServer(string id, string reportid){//code}