2016-11-24 10 views
0

私は3つのページ/サイトを持っています:スタートページ、製品ページ、およびレイアウトページ。各ページの 私はトップにナビバーを持っています:スタート(スタートページに移動)とドロップダウンメニューに「すべての製品」要素があります。 enter image description here 「すべての製品」をクリックすると、製品ページ(products.cshtml)に転送されます。オプションのGETパラメータ

products.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

を試して楽しんできてね。 私はあなたが望むと理解しています...あなたはカテゴリのドロップダウンを持っており、ドロップダウンから任意のカテゴリを選択すると、選択したカテゴリに従って製品ページにリダイレクトされます。 –

+0

@モハット・ソランキー私はそれを編集しました。 – noclue123

答えて

0

あなたの目標は、メニューの食事のリストを表示する場合、あなたはUIからリストを分離し、メニュー内の各エントリのエントリを作成することができます。ここで小さな例です:

モデルクラス:

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> 

ヴィエルSPASS BEI Ausprobieren;)

私が正しくunserstandすることはできません

関連する問題