解决方案 »

  1.   

    url: "{controller}/{action}/{id}.html", // 带有参数的 URL
      

  2.   

    可以用以下方法,刚好在项目中用到,是自己捉摸出来的。
    routes.MapRoute(
                    name: "Default",  // 路由名称
                    url: "htmlDir/{controller}/{action}/{pagename}.html", // 带有参数的 URL
                    defaults: new { controller = "WebDefault", action = "Index", id = UrlParameter.Optional } // 参数默认值
                );public ActionResult Index(string pagename)
            {
                string fileURL = string.Format("~/Content/pages/{0}.aspx", pagename);
                return RedirectPermanent(fileURL);
            }
      

  3.   


    这样肯定可以的,你注意你action中参数是不是定义成id了,参数要跟路由中的对应起来。
      

  4.   


    这样肯定可以的,你注意你action中参数是不是定义成id了,参数要跟路由中的对应起来。我已经在ID后面加好了HTML,但是貌似不行
      

  5.   

    帖子不要沉啊!我改了路由那请问!help/Article/ShowContent?ID=256这个怎么转变成help/Article/256.html ;这是我展示文章内容页的控制器方法:   #region 展示文章内容
            public ActionResult ShowContent()
            {
                int ArticleID = 0;
                try
                {
                    ArticleID = Convert.ToInt32(Request.QueryString["ID"]);
                }
                catch (Exception)
                {
                    ArticleID = 0;
                }
                LBArticleModel model = new LBArticleModel();
                //启用防恶意刷新点击数
                bool isUpdateHits = false;
                if (LBDbConfig.IsPreventRefresh())
                {
                    string key = "_IP_" + ArticleID + "_";//需用文章ID作键名,否则用户浏览其他文章就无法点击+1了
                    string ip = LBCommon.GetUserIp();
                    if (Session[key] == null)
                    {
                        Session[key] = ip;
                        isUpdateHits = true;
                    }
                    else if (Session[key].ToString() != ip)
                    {
                        isUpdateHits = true;
                    }
                }
                else
                {
                    isUpdateHits = true;
                }
                if (isUpdateHits)
                {
                    model.UpdateHits(ArticleID);
                }
                string[] seo = model.GetSeo(ArticleID);
                ViewData["Title"] = seo[0];
                ViewData["MetaKeywords"] = seo[1];
                ViewData["MetaDescription"] = seo[2];
                //友情链接列表
                ViewData["FriendLinkList"] = GetFriendLinkList();
                int ClassID = model.GetClassID(ArticleID);
                ViewData["classid"] = ClassID;
                string view = (new LBArticleClassModel()).GetContentView(ClassID);
                return View(view);
            }
            #endregion
      

  6.   

    你多研究下路由,url: "{controller}/{action}/{id}.html", // 带有参数的 URL ,这个方法是绝对正确的。
     ArticleID = Convert.ToInt32(Request.QueryString["ID"]);   MVC里面提取路由参数是这样的嘛?
      

  7.   

    在Global中URL重写一下就好了。
      

  8.   

    路由心成
    {controller}/{action}/{id}.htmlaction方法
    public ActionResult ShowContent(int id)
    {
    ...
    }
      

  9.   

    你的Action都没有参数,肯定匹配不了。id参数需要你在Action中体现出来。
      

  10.   

    毕业设计求助,价格好商量,用mvc做的物流管理,网上下的别人的,界面什么的都做好了,就是数据交换的地方有问题。QQ:18696766524