0
我正在嘗試使用Kendo UI構建ASP.NET應用程序,並且當我想要創建,更新和銷燬時遇到問題。沒有錯誤當我建立它。它顯示得很好,當我嘗試添加某些東西時,它會按照它的樣子進行添加。它仍然顯示我剛剛創建的內容。但是當我刷新頁面上的數據不存在。 數據庫沒有什麼變化,沒有添加數據。使用Kendo UI Grid的ASP.NET MVC無法創建更新和銷燬
這裏是我的控制器:
public ActionResult _Index([DataSourceRequest]DataSourceRequest request)
{
var u = db.Unit.Select(n => new { n.UnitID,n.KodeUnit, n.NamaUnit, n.JumlahPegawai });
DataSourceResult result = u.ToDataSourceResult(request);
return Json(result, JsonRequestBehavior.AllowGet);
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult _Create([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<Unit> unit)
{
var results = new List<Unit>();
if (unit != null && ModelState.IsValid)
{
foreach (var u in unit)
{
db.Unit.Add(u);
db.SaveChanges();
}
}
return Json(results.ToDataSourceResult(request, ModelState));
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult _Update([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<Unit> unit)
{
if (unit != null && ModelState.IsValid)
{
foreach (var u in unit)
{
db.Entry(u).State = EntityState.Modified;
db.SaveChanges();
}
}
return Json(new[] { unit }.ToDataSourceResult(request, ModelState));
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult _Destroy([DataSourceRequest] DataSourceRequest request, [Bind(Prefix = "models")]IEnumerable<Unit> unit)
{
if (unit.Any())
{
foreach (var u in unit)
{
db.Unit.Remove(u);
db.SaveChanges();
}
}
return Json(unit.ToDataSourceResult(request, ModelState));
}
,這裏是我的模型:
namespace Aplikasi_PKPT.Models
{
public class Unit
{
[Key]
public int UnitID { get; set; }
[Display(Name="Kode Unit")]
[Required(ErrorMessage="Kode Unit Tidak Boleh Kosong")]
public string KodeUnit { get; set; }
[Display(Name = "Nama Unit")]
[Required(ErrorMessage = "Nama Unit Tidak Boleh Kosong")]
[StringLength(60, ErrorMessage = "Nama Unit Tidak Boleh Melebihi 60 Karakter")]
public string NamaUnit { get; set; }
[Display(Name = "Jumlah Pegawai")]
[Required(ErrorMessage = "Jumlah Pegawai Tidak Boleh Kosong")]
public int JumlahPegawai { get; set; }
public virtual ICollection<Pkpt> Pkpt { get; set; }
public virtual ICollection<User> User { get; set; }
public virtual ICollection<Korkel> Korkel { get; set; }
}
}
,這裏是我的索引視圖:
<div class="container" style="margin-top:100px; padding-bottom:100px;">
@(Html.Kendo().Grid<Aplikasi_PKPT.Models.Unit>()
.Name("Grid")
.DataSource(datasource => datasource
.Ajax()
.Model(model => model.Id(id => id.UnitID))
.Read(read => read.Action("_Index", "Unit"))
.Create(update => update.Action("_Create","Unit"))
.Update(update => update.Action("_Update", "Unit"))
.Destroy(update => update.Action("_Destroy", "Unit"))
)
.Columns(columns =>
{
columns.Bound(u => u.KodeUnit);
columns.Bound(u => u.NamaUnit);
columns.Bound(u => u.JumlahPegawai);
columns.Command(command => { command.Edit(); command.Destroy(); });
}
)
.ToolBar(toolbar => {
toolbar.Create();
})
.Editable(editable => editable.Mode(GridEditMode.PopUp))
.Sortable()
.Filterable()
.Events(e => e.Edit("hideIdField"))
)
<script>
function hideIdField(e) {
$("#UnitID").hide();
$("label[for='UnitID']").hide();
}
</script>
</div>
任何幫助將apreciated ..
嗨,非常感謝你。我只在Kendo UI網站上的文檔示例中關注。但我不知道是否因爲我使用MVC 5或其他 –