我剛剛開始使用WebGrid,並且一直在尋找合適的方法來刪除一行。在ASP.NET MVC 4中刪除函數的正確方法WebGrid
但我不想使用其他窗口重定向用戶的解決方案。我只想當用戶點擊刪除時彈出一個確認窗口,如果用戶選擇是,刪除數據並刷新頁面,但與Ajax。
我已經找到了一種方法來做到這一點,但我沒有看到其他人以同樣的方式在互聯網上做它,我想知道在未來遵循它是否是一種好的做法。
在的WebGrid,我有以下列定義:
grid.Column(header: "", format: @<text> <button type="submit" name="Delete" value="@item.Id">Delete</button></text>)
它是在一個@ Ajax.Beginform(...){...}
在我的控制器我檢查,如果刪除按鈕被點擊並獲得編號是這樣的:
[HttpPost]
public ActionResult Index(ManageOvertimesViewModel model, FormCollection formCollection)
{
...
if (formCollection["Delete"] != null)
{
int id = int.Parse(formCollection["Delete"]);
//Delete the data
return PartialView("IndexPartial", model);
}
...
}
當我刪除此視圖顯示一些其他的數據是可以改變的,所以我需要有張貼的視圖模型重建在某些下拉菜單這是我不使用Ajax.ActionLink來解決刪除的原因。
那麼這是實現刪除的好方法嗎?
正如我所說我不想使用ActionLink,因爲我需要ViewModel服務器端重新創建視圖,我必須通過ajax。 – jannagy02