2
這是我的控制器方法。在MVC3視圖中使用AJAX更新字段
[HttpPost]
public ActionResult CheckStock(int productId, short units)
{
Product model = db.Products.Single(x => x.Product_ID == productId);
model.Units_In_Stock = units;
db.ObjectStateManager.ChangeObjectState(model, EntityState.Modified);
db.SaveChanges();
db.Refresh(System.Data.Objects.RefreshMode.ClientWins, model);
var newModel = db.Products.Single(x => x.Product_ID == productId);
return View("Details", newModel);
}
這裏是我的AJAX:
<script src="/Scripts/jquery-1.5.1.min.js"
type="text/javascript"></script>
<script type="text/javascript">
$(function() {
$(".UpdateProductId").click(function() {
var unitsInStock = 123;
var pId = $(this).attr("data-id");
if (pId != '' || pId != null) {
$.post("/Product/CheckStock", { "productId": pId, "unitsInStock": unitsInStock },
function (data) {
$('#units-in-stock').text(unitsInStock);
});
}
else {
alert("Product_ID is empty");
}
});
});
</script>
這裏是我的鏈接:
<div>
<a href="#" class="UpdateProductId" data-id="@Model.Product_ID">Update</a>
</div>
這裏是唯一受影響的行下調錶。
<fieldset>
<legend>Product</legend>
<div class="display-label">
<table>
<tr><td>Units_In_Stock</td><td><div id="units-in-stock">@Html.DisplayFor(model => model.Units_In_Stock)</div></td></tr>
</table>
</div>
</fieldset>
我越來越沒有錯誤可言,但是當我點擊除外#鏈接被添加到查詢字符串什麼都沒有發生的事情。控制器中CheckStock中的斷點和AJAX方法中的斷點沒有被擊中。請幫忙。
大聲笑,我不知道那個警告。謝謝!。我會在6分鐘內爲你添加正確的:)。 – 2013-03-13 00:53:29