0

私は asp mvc3 を使用しています。URL を使いやすくする方法を学びたいです。これは私のリポジトリレイヤーです:

public Section GetBySectionId(int sectionId)
{
    return context.Sections.Include("Groups").Include("Partners").Where(s => s.SectionId == sectionId).FirstOrDefault();
}

そして、これはアプリケーション層です:

public Section GetBySectionId(int sectionId)
{
    return sectionRepo.GetBySectionId(sectionId);
}

そして、これはコントローラーです:

public ActionResult Details(int id)
{
    var section = Mapper.Map<SectionViewModel>(sectionApp.GetBySectionId(id));
    return View(section);
}

たとえば、id=3 を使用してセクションの詳細に移動すると、ブラウザーの URL が に変更され~/Section/Details/3ますが、これ~/Section in persian/Details in persian/My section nameを行うにはどうすればよいですか。asp mvc ルーティングを操作するにはどうすればよいですか?

4

1 に答える 1

2

このようにルーティングを変更する必要があります

routes.MapRoute(..., "{controller}/{action}/{id}", ...);

...そして、次のように変更します。

routes.MapRoute(..., "{controller}/{action}/{name}", ...);

次に、アクションに ID の代わりに名前を付けます。

Html.ActionLink(item.Name, "Details", new {item.Name})
于 2013-04-10T06:41:25.980 に答える