Слаг в URL показывает? Слаг, за которым следует имя слага ASP. NET MVC - PullRequest
0 голосов
/ 06 августа 2020

Как можно отображать только имя слага в URL-адресе вместо xyz.com/Page/Details?slug=terms-and-conditions. Я создал Page Contrller с Action as Details. Я хочу открывать страницу по щелчку, и в URL-адресе отображается только ярлык

  1. Класс модели страницы
public class Page
    {
        [Key]
        public int PageID { get; set; }
        [Required]
        public string PageTitle { get; set; }
        public string Slug { get; set; }
        [Required]
        [AllowHtml]
        public string PageDesc { get; set; }
    }
Контроллер страницы
public class PageController : Controller
    {
        // GET: Page


        public ActionResult PagePartial()
        {
            List<Page> listPage;
            using (Db db = new Db())
            {
                listPage = db.Pages.ToArray().ToList();
            }
            return PartialView(listPage);
        }


        public ActionResult Details(string slug)
        {

            using (Db db = new Db())
            {
                Page pageDTO = db.Pages.Where(x => x.Slug == slug).FirstOrDefault();
                int id = pageDTO.PageID;

                ViewBag.pageDesc = pageDTO.PageDesc;
            }
            return View();
        }
    }
Частичный просмотр страницы
@model IEnumerable<C4A.Models.VM.Page>

@{
    Layout = null;
}


<ul style="display:inline;list-style:none;">
    @foreach (var item in Model)
    {
        <li><a href="@Url.Action("Details", "Page", new { slug = item.Slug})">@item.PageTitle</a></li>
    }
</ul>
Страница сведений
@model C4A.Models.VM.Page

@{
    ViewBag.Title = "Details";
}

    <div class="container">
        <div class="row">
            <div class="col-md-2 sidenav">
                <p>@Html.Action("StoreMenuPartial", "Shop")</p>
                <p>@Html.Action("CategoryMenuPartial", "Shop")</p>
            </div>

            <div class="col-md-8">
                <p>@Html.Raw(ViewBag.pageDesc)</p>
            </div>

            <div class="col-md-2 sidenav">
                ADS
            </div>
        </div>
    </div>
_Layout доступ к частичному просмотру страницы для отображения перечисленных страниц, которые пользователь может щелкнуть
<div class="col-md-2">
                    <p style="margin-bottom:-2rem !important;"><strong>Our Links</strong></p>
                    <p>@Html.Action("PagePartial", "Page")</p>
                </div>

Помощь по этому вопросу очень ценится. Заранее благодарю: D

...