Доступ к Url.Action в корневом контроллере проекта

У меня это в моем частичном представлении:

<script type="text/javascript">
   var jqxhr = $.getJSON("<%= Url.Action("GetTrainingModulePoints" , "Home") %>", function (data) {
      console.log(data.id);
   });
</script> 

HomeController:

[HttpGet]
public JsonResult GetTrainingModulePoints()
{
  var currentUser = ZincService.GetUserForId(CurrentUser.UserId);
  ZincService.TrainingService.GetTrainingModulePoints(currentUser.UserId);
  return Json(new { success = true }, JsonRequestBehavior.AllowGet);
}

метод GetTrainingModulePoints находится в HomeController в каталоге корневого контроллера. Я получаю 500 внутренних ошибок сервера, поэтому он не находит его. Что не так с моим Url.Action?

пожалуйста помоги? благодаря

0
nl ja de
я, но я не мудрее, у него есть эта ошибка в строке, указывающей GET GetTrainingModulePoints в ошибке огня
добавлено автор charlie_cat, источник
Большое спасибо, я нашел проблему, она не может найти хранимую процедуру с тем же именем :)
добавлено автор charlie_cat, источник
Я думаю, что вы вводите в заблуждение HttpStatuscodes: HTTP 500 является внутренней ошибкой (например, необработанным исключением в вашем коде). HTTP 404 будет «NotFound». Возможно, вы можете использовать Firebug или аналогичный инструмент для просмотра запросов/ответов и получения дополнительной информации об ошибках (или добавить Eventhandler для ошибок в Globla.asax)
добавлено автор Bernhard Kircher, источник
Обычно, когда вы щелкаете в запросе с ошибкой в ​​Firebug, вы должны увидеть запрос/ответы. Если ошибка возникает на вашей локальной машине, вы должны увидеть информацию в ответе. В качестве альтернативы вы можете использовать фреймворк вроде elmah ( code.google.com/p/elmah ) для регистрации ошибок. Вы также можете просто добавить попытку/уловить код, вызывающий ошибку, только для того, чтобы знать, или добавить метод void Application_Error (object sender, EventArgs e) в вас global.asax и adda breakpoint для получения Дополнительная информация - см. ( msdn.microsoft.com /en-us/library/24395wz3%28v=vs.100%29.asp‌ х )
добавлено автор Bernhard Kircher, источник

1 ответы

Вы правильно используете хелпер Url для генерации URL-адреса для действия контроллера. Но вы вводите код состояния 500 с кодом 404. Код состояния 500 означает ошибку внутреннего сервера. Эта ошибка может быть вызвана, например, если в действие вашего контроллера выбрано исключение.

ZincService.GetUserForId и ZincService.TrainingService.GetTrainingModulePoints являются хорошими кандидатами для этого исключения.

Если вы используете инструмент отладки JavaScript в своем браузере (например, панель инструментов разработчика FireBug или Chrome), вы можете просмотреть вкладку «Сеть», где вы увидите точный запрос/ответ для запроса AJAX. Просмотрев ответ, вы можете получить дополнительную информацию о причине ошибки.

1
добавлено
добавлено автор charlie_cat, источник
я нашел проблему, спасибо вам всем очень много! он говорит, что не может найти хранимую процедуру с этим именем :)
добавлено автор charlie_cat, источник
Хорошо, теперь разверните запрос (используя знак + рядом с ним и посмотрите на часть ответа). Или просто поместите контрольную точку внутри действия вашего контроллера и запустите приложение в режиме отладки. Когда действие контроллера будет удалено, вы сможете увидеть исключение.
добавлено автор Darin Dimitrov, источник
DotNetRuChat
DotNetRuChat
2 992 участник(ов)

Чат русскоязычного .NET сообщества http://dotnet.ru/ Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @xamarin_russia, @microsoftstackjobs, @uwp_ru Флуд в @dotnettalks

Microsoft Stack Jobs
Microsoft Stack Jobs
1 788 участник(ов)

Work & freelance only Microsoft Stack. Feed https://t.me/Microsoftstackjobsfeed Чат про F#: @Fsharp_chat Чат про C#: @CSharpChat Чат про Xamarin: @xamarin_russia Чат общения:@dotnettalks

pro.net
pro.net
710 участник(ов)

Обсуждение .NET Framework и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). Флудилка: @dotnettalks Участник @proDOT

Microsoft Developer Community Chat
Microsoft Developer Community Chat
584 участник(ов)

Чат для разработчиков и системных администраторов Microsoft Developer Community. __________ Новостной канал: @msdevru __________ Баним за: оскорбления, мат, рекламу, флуд, флейм, спам, NSFW контент, а также большое количество оффтоп тем. @banofbot

.NET Talks: Force Push Masters
.NET Talks: Force Push Masters
490 участник(ов)

Свободный чат .NET разработчиков. Правила: t.me/dotnettalks/56823 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @microsoftstackjobs, @uwp_ru http://combot.org/chat/-1001128250813

.NET Chat Убежище
.NET Chat Убежище
246 участник(ов)

Чат .NET разработчиков под эгидой MSK/SPB .NET Community Group Вам могут быть интересны: @fsharp_chat, @dotnetruchat, @cilchat, @xamarin_russia, @microsoftstackjobs, @dotnetgroup Флуд в @dotnettalks

.NET CIL Chat
.NET CIL Chat
54 участник(ов)

.NET CIL (aka IL aka MSIL)