ورود

View Full Version : استفاده از گرید و Binding کردن اطلاعات به طور AJAX و نمایش نادرست داده ها ی دریافتی



RIG000
جمعه 16 آبان 1393, 14:16 عصر
public class EFController : Controller {
//
// GET: /EF/


public ActionResult AjaxConnected([DataSourceRequest] DataSourceRequest request )
{
using (var dbef=new dbTestEntities())
{
IQueryable<Person> persons = dbef.People;
DataSourceResult result = persons.ToDataSourceResult(request);
return Json(result.Data,JsonRequestBehavior.AllowGet);
}
}


}
و ویو View

@{ ViewBag.Title = "AjaxConnected";
}


<h2>AjaxConnected</h2>
@(Html.Kendo().Grid<TelerikMvcApp2.Models.Person>()
.Name("Grid")
.DataSource(builder => builder
.Ajax()
.Read(operationBuilder => operationBuilder.Action("AjaxConnected", "EF"))


)
.Columns(factory =>
{
factory.Bound(person => person.personId);
factory.Bound(person => person.Name);
factory.Bound(person => person.LastName);
})
.Pageable()
.Sortable())




حالا خروجی منم شده یک ارایه !!!

[{"personId":1,"Name":"Amin","LastName":"Saadati"},{"personId":2,"Name":"Fariba","LastName":"Ghochani"},{"personId":4,"Name":"Milad","LastName":"Rahmani"},{"personId":5,"Name":"rima","LastName":"rad"},{"personId":6,"Name":"ali","LastName":"kiva"},{"personId":7,"Name":"sahel","LastName":"abasi"},{"personId":8,"Name":"medi","LastName":"ghaem"},{"personId":9,"Name":"mino","LastName":"kafash"},{"personId":10,"Name":"behzad","LastName":"tizro"},{"personId":11,"Name":"toti","LastName":"saadati"},{"personId":12,"Name":"parinaz","LastName":"karami"},{"personId":13,"Name":"sadegh","LastName":"hojati"},{"personId":14,"Name":"milad","LastName":"ebadipor"},{"personId":15,"Name":"farid","LastName":"riazi"},{"personId":16,"Name":"said","LastName":"abdoli"},{"personId":17,"Name":"behzad","LastName":"ariafar"},{"personId":18,"Name":"jamshid","LastName":"kotahi"}]

اگه
JsonRequestBehavior.AllowGet این رو هم از return بدارم خطای allowget میده....
الان خروجی برنامه اصلا شبیه گرید نیست!!(ظاهری)

GILAS_MVC
جمعه 16 آبان 1393, 20:11 عصر
اکشن Index باید نوشته بشه :)

RIG000
جمعه 16 آبان 1393, 20:45 عصر
من نیازی به index ندارم اکشن من AjaxConnected هستش و ویو خودش رو داره!
من تو مرورگر اصلا" دستی مینویسم Ef/AjaxConnected ...
اگه تو اکشنم بنویسم Rrturn view صفحه من در دسترس هست . و مشکلی برای لود صفحه ندارم و حتی گرید رو خیلی درست برایم نشون میده اما من دارم به طور
json پاس میدم و ajaxi میگیرم. پس با Rrturn view نمیشه ارسال کرد یا من بلد نیستم. به هر حال مشکل اینه که صفحه دسترس هست اما مشکل گرید kendo رو با json دارم.

RIG000
شنبه 17 آبان 1393, 15:45 عصر
اکشن جدید ساختم و براش یه ویو تعرف کردم و اکشن بالا رو توش فراخونی کردم. حل شد-

RIG000
شنبه 17 آبان 1393, 15:47 عصر
البته مشکل از total ,
aggregate بود که نتونستم اونجا مقدار دهیشون کنم و مجبورا " یه ویو ساختم که دیگه خود کار بگیرمشون.... ساختار درونی kendo خیلی مونده تا یاد بگیرم!!!