2017-08-30 7 views
0

私のASP.NET Core 1.1 MVCアプリのビューで次のループで、各項目の主キーIDを次のように渡します。しかし、同じボタンで別の値@Model.lstOrders[i].OrderTypeを渡す必要があります。どのように達成できますか?ASP.NETコアはButtonコントロール経由で2つのパラメータを渡します

@model MyProj.Models.OrdersViewModel 
... 
@for (int i=0; i< Model.lstOrders.Count; i++) 
{ 
    <tr> 
    <td> 
     <span>@Model.lstOrders[i].ProductName</span> 
     </td> 
    <td> 
     <button type="button" class="Updatebtn" value="@Model.lstOrders[i].OrderId">Update</button> 
    </td> 
<tr> 
} 
... 
+1

これは単なるボタンで、必要なものを何でも作ることができます。パースして使用する方法です。 "{orderId:@ Model.lstOrders [i] .OrderId、myOtherId:@ Model.lstOrders [i] .AnotherId}" –

答えて

0

別のアプローチは、個々形態タグとして forループ内部どんな配置することです。そうすることで、アクションメソッドに必要なだけ多くの価値を投稿することができます。

さらに、必要に応じてパーシャルビューとして作成することもできます。

@for (int i=0; i< Model.lstOrders.Count; i++) 
{ 
    <form id=""@Model.lstOrders[i].OrderId" asp-action="AddToCart" 
      asp-controller="Cart" method="post"> 
     <input type="hidden" asp-for="@Model.lstOrders[i].OrderId" /> 
     <input type="hidden" asp-for="@Model.lstOrders[i].OrderType" /> 
     <button type="button" class="Updatebtn">Update</button> 
    </form> 
} 

あなたは、アダム・フリーマンのプロASP.NET MVCのコアサンプルコードで詳細を読むことができます - ProductSummary.cshtml (PartialView)List.cshtmlAddToCart ActionMethodを。

関連する問題