首页 新闻 会员 周边 捐助

有关于MVC

0
悬赏园豆:5 [已解决问题] 解决于 2012-07-25 11:54
public class chanpinController : Controller
    { 
        public ActionResult jiancai(string id, SearchModel search)
        {
            ProductModel model = new ProductModel();
            return View(model);
        }
    }

http://localhost:4254/chanpin/jiancai/ 访问会找不到这个Action
但只要jiancai/随便加个字符就能访问了,这是什么原因造成的呢?

wuanju . com的主页 wuanju . com | 初学一级 | 园豆:137
提问于:2012-07-25 09:55
< >
分享
最佳答案
0

找到问题了,原来我生成静态页的时候在根目录下生成了一个chanping的文件夹。

wuanju . com | 初学一级 |园豆:137 | 2012-07-25 11:52
其他回答(3)
0

你没提供参数呗,随便加个字符就是给id这个参数传值了,所以能访问到。

收获园豆:2
artwl | 园豆:16736 (专家六级) | 2012-07-25 09:59

但前几天我的这个备份,http://localhost:4254/chanpin/jiancai/能正常访问的,我就是不知道这几天改了什么变成这样!

支持(0) 反对(0) wuanju . com | 园豆:137 (初学一级) | 2012-07-25 10:01

@wuanju . com: 楼下的说了,看看路由配置是否正确

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2012-07-25 10:02
1

因为你的路由配置(看global.asax)里,这个action是必须要带参数id的,如果你不带id,那么MVC框架会认为这个action不匹配你的请求,因此就找不到对应的action了。把id改成可选参数就好了,大概是这样:

routes.MapRoute(
         "Default", // Route name
         "{controller}/{action}/{id}", // URL with parameters
         new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
    );
收获园豆:3
水牛刀刀 | 园豆:6350 (大侠五级) | 2012-07-25 10:00
 public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
            routes.MapRoute(
                "default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Index", action = "Index", id = UrlParameter.Optional } // Parameter defaults
                , new[] { "KingCMS.Controllers" }
            );
            
        }

这是我的路由也应该是没有问题的。

支持(0) 反对(0) wuanju . com | 园豆:137 (初学一级) | 2012-07-25 10:02

@wuanju . com: 你的最后一个参数 new[] { "KingCMS.Controllers" } 给这个路由加了限制,你删掉试试,如果删掉就好了,说明是这个contraints参数写的不对。

支持(0) 反对(0) 水牛刀刀 | 园豆:6350 (大侠五级) | 2012-07-25 10:30

@水牛刀刀: 试了,删除掉也没有用,以前我就这么加可以用的,前几天的备份代码是正常的,就是这几天改了些代码就成这样。

支持(0) 反对(0) wuanju . com | 园豆:137 (初学一级) | 2012-07-25 10:39

@wuanju . com: 查看一下改了哪些地方的代码,重点看路由部分和参数默认值部分

支持(0) 反对(0) artwl | 园豆:16736 (专家六级) | 2012-07-25 10:52

@wuanju . com: 这个路由,怎么看着像:Index/Index啊。。。

支持(0) 反对(0) Superman111 | 园豆:215 (菜鸟二级) | 2012-07-25 10:59
0

这个路由,怎么看着像:Index/Index啊。。。

Superman111 | 园豆:215 (菜鸟二级) | 2012-07-25 10:59
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册