href в строке модели вызывает ошибку mvc, не удалось отобразить ошибку пути

#asp.net-mvc

#asp.net-mvc

Вопрос:

У нас есть страница mvc, на которой просто необходимо отобразить данные, сохраненные в таблице базы данных. Эти данные являются отображаемым представлением, поэтому они включают ссылки на другие страницы в приложении. На моей странице я просто использую

 @Html.Raw(Model)
  

для отображения строки. Я обнаружил, что он пытается выполнить рендеринг, но как только он попадает на первую ссылку на странице, он выдает исключение — «Не удалось сопоставить путь».

Есть идеи, почему это делается и как это обойти?

Комментарии:

1. Являются ли ссылки в «отображаемом представлении» просто чистым HTML, или эти данные содержат дополнительные Razor (например, @Url.Action и т.д.)? Я думаю, что Raw потерпит неудачу, если он содержит дополнительную информацию, которую необходимо отрисовывать.

2. Просто чистый html. И я попробовал это без Raw, просто чтобы посмотреть, что получится, но это делает то же самое.

3. Еще одна интересная вещь — это то, что у меня есть точка останова в @Html. Необработанная линия, но, похоже, она никогда не попадает под удар. Я могу поставить точки останова в других представлениях, и они остановятся, как и ожидалось. Итак, мне интересно, происходит ли что-то между контроллером и моделью, отправляемой в представление?

4. Если вы устанавливаете точку останова в контроллере при вызове View (т. Е. «return View (ViewModel);»), попадает ли она в эту точку останова? Если да, можете ли вы увидеть свой HTML-код внутри переменной ViewModel? Выглядит ли это допустимым?

5. Я разобрался с проблемой. Я думаю, потому что я просто отправлял строку в представление, что она использовала это в качестве имени представления. Я создал фиктивный объект viewmodel со свойством string Data. Установка свойства Data равным моему html, а затем рендеринг этого в представлении работал нормально.