2016-03-17 82 views
0

我有一個文本框,在我看來,這樣的我想將文本框的值發送到控制器的MVC

< input type="text" id="Quant" value="@item.Quantity"/> 

我想這個文本框的值發送到操作方法時,文本框的值被改變。

我的操作方法是這樣的

public ActionResult Quant(int id) 
{ 
    int index = isExisting(id); 
    List<Item> cart = (List<Item>)Session["cart"]; 
    cart[index].Quantity= id; 
    Session["cart"] = cart; 
    return View("Cart"); 
} 

我想要的文本框的值將被髮送到的ActionResult定量的參數ID。 我們是否可以使用任何JavaScript或jQuery爲此。 plz幫助我。提前致謝。

+0

爲什麼使用javascript?爲什麼不提交一個表單(你需要給輸入一個名稱屬性'name =「id」') –

+0

javascript不需要頁面更新。它非常簡單,並使您的網站互動。 –

回答

2

那麼首先你需要弄清楚什麼時候你想發送文本值到控制器。當文本框更改或文本框或類似的鍵入時。我可能會把它放在改變的文本框中,你可以在輸入中使用它。然後,你可以運行如下的一些Ajax代碼:

$('#Quant').on("input propertychange paste", function() { 
    $.ajax({ 
    url: '/Quant', 
    data: { 'id' : $('#Quant').val() }, 
    type: "post", 
    cache: false, 
    success: function() { 
     alert('success !'); 
    } 
    }); 
}); 
-2

只需修改代碼

第一個輸入框:

<input type="text" id="Quant" name ="Quant" value="@item.Quantity"/> 

其次正確動作方法:

public ActionResult Quant(String Quant) 
{ 
    int _Quant = Convert.ToInt16(Quant); 
    int index = isExisting(id); 
    List<Item> cart = (List<Item>)Session["cart"]; 
    cart[index].Quantity= id; 
    Session["cart"] = cart; 
    return View("Cart"); 
} 
+0

他說,當文本框的值被改變時,值必須被髮布。所以這是不夠的 –

相關問題