aşağıdaki eşleme eklediğinizde: Eğer eylem yöntemine dizede 'url' elde edebilirsiniz
routes.MapRoute("hierarchy", "{action}/{*url}"
new { controller = "Home", action = "Index" });
: hiyerarşisi sonra kolayca elde edilir
public ActionResult myAction(string url)
{
...
}
:
string[] hierarchy = url.Split('/');
Dize değerleri listesinden bir url oluşturma, bir similair yaklaşımı kullanılarak yapılabilir:
string firstPart = hierarchy.Count() > 0: hierarchy[0] : string.Empty;
StringBuilder urlBuilder = new StringBuilder(firstPart);
for (int index = 1; index < hierarchy.Count(); index++)
{
urlBuilder.Append("/");
urlBuilder.Append(hierarchy[index]);
}
urlBuilder sonra örneğin bir eylem linkinde kullanılabilir: Bu sorunun
<%= Html.ActionLink("Text", new { Controller="Home", Action="Index", Url=urlBuilder.ToString() }) %>
gibi daha kontrol etmedim ama işe yarıyor gibi görünüyor. Rota bağlantısı oluşturmaya ne dersiniz? Rota verileri olarak bir dizi geçmek istiyorum. Herhangi bir fikir? – Sonia
Yayına bir yaklaşım ekledim. – Jeroen
Mükemmel çalışıyor! Bu bir stil meselesidir, ancak urlBuilder yazmayı kullanmak yerine string.Join ("/", strArray) kullanılır. – Sonia