2017-08-06 31 views
0

私はASP.NET MVCアプリケーションで作業していますが、このTextBoxがテーブルにあり、私は入力を必要とするビューからTextBox値を渡す必要があります値。テキストボックスから値を取得してアクションリンクからコントローラに渡す方法

@foreach (var item in Model) 
    { 
     <tr class="odd gradeX"> 
     <td> 
     @Html.DisplayFor(modelItem => item.Product.ProductName) 
     </td> 
     <td> 
     @Html.DisplayFor(modelItem => item.User.FullName) 
     </td> 
     <td> 
     @Html.DisplayFor(modelItem => item.Product.Reference) 
     </td> 
     <td> 
     @Html.TextBoxFor(modelItem => item.QuantityWanted, new { style = "width:60%", type = "number", min = "0", step = "1", max = item.Quantity }) 
     @Html.ActionLink("Add", "Add", new { idProduct = item.ProductID, idUser = item.UserID, quantityWanted= item.QuantityWanted }) 
     </td> 

     </tr> 
    } 

私はjavascriptとjqueryを使用しましたが、何も取得せず、quantityWantedは常にnullまたは0の値を返します。

+0

、このコードは一度だけ、一度レンダリングし、それは変更されません、そしてあなたも、テキストを参照してくださいする前にそれが起こるのだろうレンダリングされますあなたのケースでは、これを提出するためにajax呼び出しを使ってアドバイスします。 – Munzer

+0

コードを説明できますか?あなたのモデルはEnumerableですか?あなたは何をしたいですか? jqueryまたは単にリンク? –

+0

はい私のモデルはEnumerableで、リンクを介してコントローラにtxtboxの値を渡したい場合 –

答えて

0

私はあなたがこのようなコードをしたいと思う:これは動作しません

@foreach (var item in Model) 
{ 
    <tr class="odd gradeX"> 
    <td> 
    @Html.DisplayFor(modelItem => item.Product.ProductName) 
    </td> 
    <td> 
    @Html.DisplayFor(modelItem => item.User.FullName) 
    </td> 
    <td> 
    @Html.DisplayFor(modelItem => item.Product.Reference) 
    </td> 
    <td> 

    <input type="number" id="[email protected]" data-idUser = "@item.UserID" style="width:60%" min="0" step="1" max="@item.Quantity"/> 
    <button click="AddItem(@item.ProductID)">Click to add</button> 

    </td> 

    </tr> 
} 

<script> 
function AddItem(id){ 
var quantity = $('Quantity' + id).val(); 
    window.location = "/Add/Add?idProduct" + id + "&idUser=" + $('Quantity' + id).data("idUser") + "&quantityWanted=" + quantity; 
} 
</script> 
+0

ありがとうございます。それは私のために働いた。アイデアはすべての入力に異なるIDを付けて、その値を取得できるようにすることでした –

関連する問題