У меня есть страница макета, где определена моя левая панель навигации. Я хочу загрузить вспомогательные параметры для элемента меню в левой панели навигации. Я добавил событие ajax click для элемента верхнего меню. Но он всегда использует метод по умолчанию, определенный в RouteMap, а не метод действий, который я написал для загрузки частичного представления.Метод действия MVC не попадает
Файл My Routeconfig.cs. У меня есть и другие карты, определяющие этот файл. Но это метод, который получает удар.
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new {
controller = "Client",
action = "Index",
id = UrlParameter.Optional }
);
пункт меню в моем _layout Page
<li>
<a href="#" id="recentlist">Recent list</a>
<ul>
<li>
<a href="#" class="back">Main Menu</a>
</li>
<div id="recentClients"></div>
</ul>
</li>
Это мой Javascript определяется на странице _layout.
$('#recentlist').click(function() {
$.ajax({
Url: "@Url.Action("RecentList", "Navigation")",
success: function (r) {
$('#recentClients').html(r);
}
});
});
Но он никогда не ударяет метод RecentList в моем навигационном контроллере. Он всегда шел к методу по умолчанию, определенному в RouteConfig.cs
Также это мой код контроллера.
public ActionResult RecentList()
{
var clientModel = new ClientModel();
var recentlList = clientModel.GetRecentList();
return PartialView("_RecentlList", recentlList);
}
Все, что вы указали, это метод с именем 'LastUsedList' not' RecentList' - это опечатка (наряду с неправильным атрибутом id)? –
Опция ajax также должна быть 'url: ...', а не 'Url: ...' (нижний регистр) –
@StephenMuecke - ahh !! Это проблема. Я не понимал, что U был на кепках. Спасибо... – DotNetLearner