2016-11-24 3 views
0

У меня есть 3 страницы/сайты: стартовая страница, страница продуктов и макет. на каждой странице у меня наверху навигационная панель: с Start (вы попадаете на начальную страницу) и выпадающим меню с элементом «все продукты». enter image description here Если вы нажмете на «все товары», вы попадете на страницу продуктов (products.cshtml).Опциональный параметр GET

product.cshtml (страница) должен получить необязательный параметр GET «category» (type = string). если этот параметр был введен, он должен показывать только продукты, которые имеют категорию из строки. , например. строка = морепродукты => показывать только товары из категории = морепродукты

мой код до сих пор в моей layout.cshtml:

<ul class="dropdown-menu"> 
<li method="get" name="kategorie" target="_blank" > 
<a href="~/Produkte.cshtml">Alle Speisen</a> 
</li> 
</ul> 

я не знаю, как я заявляю, что GET-параметр является необязательным и, как объявить, что должны отображаться только товары из категории в строке.

жаль бедный английский

+0

я не могу unserstand должным образом. согласно моему пониманию, что вы хотите ..., у вас есть раскрывающийся список категорий, и если вы выберете любую категорию из раскрывающегося списка, вы перейдете на страницу продукта в соответствии с выбранной вами категорией. M i right? –

+0

@Mohit Solanki я отредактировал его, я надеюсь, что понимание теперь лучше – noclue123

ответ

0

Если ваша цель, чтобы отобразить список блюд в меню, вы можете разделить этот список из пользовательского интерфейса, а затем сделать запись для каждой записи в меню. Вот небольшой пример:

Модель Класс:

public class MealsViewModel 
{ 
    public string Category {get; set;} 
    public string DisplayName {get; set;} 
    public int Id {get; set;} 
} 

Контроллер Methode:

public ActionResult index(string category) 
{ 
    var model = GetListofMeals(category); 
    model.insert(0, new MealsViewModel(){ id=0, DisplayName="Alle Speisen", Category = ""}; 
    return View(model); 
} 


public ActionResult Products(int id) 
{ 
    var model = GetMeal(id); 
    return View(model); 
} 

private List<MealsViewModel> GetListofMeals(string category) 
{ 
    ...... 
} 

private MealsViewModel GetMeal(int id) 
{ 
    ....... 
} 

Индекс Вид:

@model IEnumerable<Models.MealsViewModel> 

<ul class="dropdown-menu"> 
@foreach(var meal in Model) 
{ 
<li> 
@Html.ActionLink(Model.DisplayName, "products", new { id = Model.id}, new { target ="_blank"}) 
</li> 
} 
</ul> 

Viel Spaß бей Ausprobieren;)

Весело пробуя

Смежные вопросы