Допустим есть cshtml код :
<ul>
<li><a onclick="" href="">Article 1</a></li>
<li><a onclick="" href="">Article 2</a></li>
<li><a onclick="" href="">Article 3</a></li>
</ul>
И мне нужно при нажатии на эту ссылку показывать разные данные, которые я беру из БД. Данные я вывожу на страницу вот так:
@{
var a = Model.Articles.Single(x => x.Id == 1);
@Html.Raw(a.Header);
@Html.Raw(a.Content);
}
Но это только для первой статьи, если я модифицирую c# код до метода:
@{
void GetContent(int id)
{
var a = Model.Articles.Single(x => x.Id == id);
@Html.Raw(a.Header);
@Html.Raw(a.Content);
}
}
, и буду туда передавать ID вот так: onclick="GetContent(1)"
, то получится, что кнопка на старте программы раз 10 нажмется и испортит страницу(. Я уже немало вариантов перепробовал и уже совсем нет идей что с этим делать... Пробовал и JS, но у меня что-то не получилось. Может быть мне как-то исправить подход и это плохая идея - уместить статьи на одной странице.
Решил проблему отойдя от идеи делать все на одном url.
Как исправил:
Index.cshtml:
@model System.String
<ul>
<li>
<a asp-controller="Article" asp-action="GetArticle" asp-route-id=1>company_list.php</a>
</li>
</ul>
@if (Model != null)
{
@Model
//Если html страница в контент, то Html.Raw(Model);
}
ArticleController.cs:
public IActionResult GetArticle(int id)
{
var a = db.Articles.SingleOrDefault(x => x.Id == id);
if (a != null)
{
return View("Index", a.Content);
}
return View("Index");
}
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Делаю игру, похожую та terraria или starboundУ меня есть две тайловые карты, одна передняя с коллайдером, а вторая задняя, как бы на фоне
Есть переменная Nickname типа string и десяток переменных типа intВсе они прекрасно записываются в реестр и там отображаются, но при попытке подгрузить...
Хотите улучшить этот вопрос? Обновите вопрос так, чтобы он вписывался в тематику Stack Overflow на русском