У меня есть образец приложения MVC, но есть часть, которую я не понимаю
это приложение является приложением для интернет-магазина. Есть основной вид, что вы выбираете продукты.
Есть код, который я не понимаю:
<div class="col-md-3"> <div class="categorywrap"> <a href="~/Views/StoreFront/Index/1"> <h2>Dairy</h2> <img src="~/Content/Images/dairy.png "alt=""> </a> </div> </div> <div class="col-md-3"> <div class="categorywrap"> <a href="~/Views/StoreFront/Index/2"> <h2>Meats</h2> <img src="~/Content/Images/meat.png" alt="" /> </a>
<div class="categorywrap"> <a href="~/Views/StoreFront/Index/3"> <h2>Bakery</h2> <img src="~/Content/Images/bakery.png" alt=""/> </a> </div>
Это вид витрины магазина/индекса:
@model Models.Category @{ ViewBag.Title = Model.Name; } <br /> <br /> <div class="row"> <div class="col-xs-12 col-md-3"> <ul class="nav nav-pills nav-stacked"> @if(Model.Name=="Dairy") { <li class="active"> <a href="~/Views/StoreFront/Index.cshtml/1">DAIRY</a> </li> }else { <li> <a href="~/Views/StoreFront/Index.cshtml/1">DAIRY</a> </li> } @if (Model.Name == "Meats") { <li class="active"> <a href="~/Views/StoreFront/Index.cshtml/2">MEATS</a> </li> } else { <li> <a href="~/Views/StoreFront/Index.cshtml/2">MEATS</a> </li> } @if (Model.Name == "Bakery") { <li class="active"> <a href="~/Views/StoreFront/Index.cshtml/3">BAKERY</a> </li> } else { <li> <a href="~/Views/StoreFront/Index.cshtml/3">BAKERY</a> </li> } @if (Model.Name == "Fruits") { <li class="active"> <a href="~/Views/StoreFront/Index.cshtml/4">FRUIT & VEG</a> </li> } else { <li> <a href="~/Views/StoreFront/Index.cshtml/4">FRUITS & VEG</a> </li> } </ul> </div> <div class="col-xs-12 col-md-9"> <div class="row"> @foreach(var product in Model.products) { <div class="col-xs-12 col-md-3"> <div class="thumbnail"> <img class="img-responsive" src="~/Content/Images/Prod/@(product.Name).png" /> <div class="caption text-center"> <p> Name:<span>@product.Name</span> </p> <p> Price:<span>@product.price $</span> </p> <p class="text-center"> @Html.ActionLink("Add to cart", "AddToCart", new { id = product.ID }, new { @class="btn btn-info"}) </p> </div> </div> </div> } </div> </div> </div>
Что я уже пробовал:
This code "<pre> <a href="~/Views/StoreFront/Index/3">"
относится, например, к "index/3", в то время как у нас есть только index view(один вид) в папке Storefront views! для каждого продукта нет вида"3", "2" или "1". почему? Похоже, он создает страницу во время выполнения.
спасибо
Richard Deeming
Вы уверены, что это приложение MVC? В MVC вы не связываетесь с представлениями; вы связываетесь с методами действий на контроллере. То /1
будет представлять собой параметр маршрута, который будет передан методу действия.
maysam_p82
Да, я уверен. Так ты можешь мне помочь? Это всего лишь & lt;a href ... storefront/index/3
David_Wimbley
Я думаю, что это просто веб-приложение, написанное с использованием синтаксиса razor с использованием веб-фреймворка microsofts...я не помню названия, но это была быстрая/простая настройка, которая позволила вам установить IIS, mysql, php среди прочего...вышел несколько лет назад, но он подтолкнул синтаксис razor как способ создания веб-приложений. ОП, вероятно, свалил это в кучу под MVC.
maysam_p82
так что же я могу сделать?
maysam_p82
Хорошо. Тогда как я могу заменить код чем-то правильным? Я хочу, чтобы, когда пользователь нажал на продукт, перенаправить его на соответствующую страницу. Создаю ли я контроллер? и что я должен поместить в этот контроллер?
David_Wimbley
Я не знаю, что вы должны поместить в свой контроллер, так как я не знаком с тем, что вы пытаетесь построить, и у меня нет доступа к вашей кодовой базе.
Вам лучше найти учебник (https://docs.microsoft.com/en-us/aspnet/mvc/overview/getting-started/introduction/getting-started) и работать через них, чтобы узнать, как использовать фреймворк.
Учитывая ваш пример кода, ответ на ваш вопрос может не принести никакой пользы, потому что я ничего не знаю о вашем проекте.