1

次のように自分のカテゴリにアクセスするためのルートを作成したい:/category/{id}の代わりに/category/details/{id}

私はそのような多くの可能な例を試しました

routes.MapRoute(
    "Category",
    "category/{id}",
    new { controller = "category", action = "details", id = UrlParameter.Optional },
    new string[] { "Project.Controllers" }
);

しかし、それは機能していないようです。誰かがこれを手伝ってくれますか?

これが私のコントローラーです

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Project.Controllers
{
    public class CategoryController : Controller
    {
        public ActionResult Details(string id)
        {
            return Content(id);
        }
    }
}
4

3 に答える 3

3

私はすべてを正しく行いました。デフォルトルートの下に配置しただけです。新しいルートをデフォルトルートの上に配置する必要があります

于 2012-09-19T15:11:18.287 に答える
2

一見正しいように見えますが、別のルートを設定することもできます。位置によって異なります。Glimpseを使用してアプリケーションをデバッグします 。NuGetPackageoftheWeek#5- Glimpseを使用したASP.NETMVCアプリケーションのデバッグ

于 2012-09-19T15:00:43.123 に答える
0

ローカルマシンlocalhost/Category / Details/1で試してみました

routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Category", action = "Details", id = UrlParameter.Optional     } // Parameter defaults
        );



public class CategoryController : Controller
{
    //
    // GET: /Category/

    public ActionResult Details(string id)
    {
        return View();
    }

}

または、HttpGetまたはHttpPostを実行していますか?

于 2012-09-19T15:04:33.763 に答える