У меня есть фиксированная ссылка для моего проекта, такая как
Ссылка: домен / контроллер / имя-фамилия /
Где Url_name = 'firstname-lastname' является параметром, поэтому я имелиспользовать атрибутную маршрутизацию, чтобы скрыть действие от URL.
Список поступает со страницы 1, и есть список ссылок для другого пользователя Как
<a class="artist" id=' + data.Id + ' href="Contr/' + data.Url_name + '">' NAME </a>
1.домен / контроллер/ firstname1-фамилия /
2.домен / контроллер / firstname2-фамилия /
.....
Затем, когда пользователь нажимает на систему ссылок, происходит переход квторая страница (страница 2) только с именем Url_name.
[Route("Contr/{name}")]
public ActionResult Index(string name)
{
return View();
}
В этот момент, когда представление загрузит их в Javascript, я попытался взять имя из URL-адреса, например
var url = document.URL;
var lastChar = url[url.length - 1];
var name;
var splittedStr = url.split('/');
if (lastChar !== "/")
{
name = splittedStr[splittedStr.length - 1];
}
else
{
name = splittedStr[splittedStr.length - 2];
}
Затем я вызываю другое действие через ajax (сторона сценария), чтобы получить данные для отображения.
var url = "GetData/" + name + "/" + artistId + "/" + direction + "";
$.ajax({
url: url,
type: "GET",
dataType: 'json',
// data: { artistId: artistId, 'direction': 'none' },
contentType: 'application/json; charset=utf-8',
success: function (data) {
$("#hidId").val(data.Id);
$("#aName").html(data.Vorname + " " + data.Name);
//and so on.
}
});
Соответствующее действие в контроллере:
[Route("Contr/GetData/{name?}/{aId:int?}/{direction?}")]
public ActionResult GetData(string name,int? aId, string direction)
{
//searcing code for coming paraeter
}
Моя проблема, в ссылке, если нет косой черты ("/") в хвосте, то все работает коррectly.Но если есть, то вызов объединяется с существующим URL-адресом, например
домен / контроллер / имя-имени-фамилии / GetData / name / 0 / none
И это не таквызов действия GetData в контроллере.Может ли кто-нибудь помочь в этой ситуации ??