#c# #asp.net-mvc #html-helper
#c# #asp.net-mvc #html-помощник
Вопрос:
У меня проблема с функцией @html.actionlink
, и вот мой пример кода и ошибка
ошибка:
Майкрософт.Хостинг.Время жизни: Информация: приложение запущено. Нажмите Ctrl C, чтобы завершить работу.
Microsoft.Хостинг.Срок службы: Информация: Среда размещения: Разработка
Microsoft.Хостинг.Время жизни: Информация: корневой путь содержимого: C:UsersturkisourcereposVidlyVidly
Программа ‘[1084] iisexpress.exe ‘вышел с кодом -1073741819 (0xc0000005) ‘Нарушение доступа’.
Случайный код просмотра
@model Vidly.ViewModel.RandomMovieViewModel
@{
ViewData["Title"] = "Random";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@*
this is comment :)
*@
<h1>Customers</h1>
<table class="table table-bordered table-hover">
<thead>
<tr>
<th scope="col">Customer</th>
</tr>
</thead>
<tbody>
@foreach (var customer in Model.Customer)
{
<tr class ="d-sm-table-row">
<td>@Html.ActionLink(@customer.Name,"CustomerPage","Movie",null,null)</td>
</tr>
}
</tbody>
</table>
Код контроллера видео
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Vidly.Models;
using Vidly.ViewModel;
namespace Vidly.Controllers
{
public class MovieController : Controller
{
public IActionResult Random()
{
var movie = new Movie() { Name = "See" };
var customers = new List<Customer>
{
new Customer {Name = "turki" },
new Customer {Name = "ahmed" }
};
var ViewModel = new RandomMovieViewModel()
{
movie = movie,
Customer = customers
};
return View(ViewModel);
}
public ActionResult CustomerPage()
{
return CustomerPage();
}
}
}
Комментарии:
1. К вашему сведению — вам не нужен
@
префикс внутри списка параметров ActionLink.
Ответ №1:
У вас ошибка рекурсии:
public ActionResult CustomerPage()
{
return CustomerPage();
}
Действие вызывает себя без остановки, пока не произойдет исключение. И из вашего вопроса неясно, что вы хотите вернуть в качестве страницы клиента.
Это должно быть что-то вроде этого:
public ActionResult CustomerPage()
{
var model = ....your code
return View(model);
}
Комментарии:
1. спасибо, вы правы, у меня ошибка рекурсии, и я ее исправляю 🙂
2. Я рад, что помог вам. Пожалуйста, не забудьте принять ответ.