我正在使用EF开发ASP.Net mvc 4应用程序。 这是Client / index.cshtml(添加ExtJS之前)
@model IEnumerable<Proj.Client>
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table>
<tr>
<th>
@Html.DisplayNameFor(model => model.Name_Clt)
</th>
<th>
@Html.DisplayNameFor(model => model.LName_Clt)
</th>
<th>
@Html.DisplayNameFor(model => model.Birthday_Clt)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name_Clt)
</td>
<td>
@Html.DisplayFor(modelItem => item.LName_Clt)
</td>
<td>
@Html.DisplayFor(modelItem => item.Birthday_Clt)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.ID_Client }) |
@Html.ActionLink("Details", "Details", new { id=item.ID_Client }) |
@Html.ActionLink("Delete", "Delete", new { id=item.ID_Client })
</td>
</tr>
}
</table>
我正在关注此博文,但我无法在其上加载数据。 http://cincolabs.com/2012/04/10/asp-net-mvc-4-ext-js-4-gridpanel/
我创建了另一个ClientController。
public JsonResult GetUsers()
{
var entities = new Entities();
//What is important is to return the data as JSON.
return Json(entities.Clients.ToList(), JsonRequestBehavior.AllowGet);
}
我应该重新编写此代码。
public ActionResult Index()
{
var db = new Entities();
return View(db.Clients.ToList());
}
另一个问题:
// Set up a model to use in our Store
Ext.define('Client', {
extend: 'Ext.data.Model',
fields: [
{ name: 'First_Name', type: 'string' },
{ name: 'Last_Name', type: 'string' },
{ name: 'Email', type: 'string' },
{ name: 'Date_Created', type: 'date', dateFormat: 'MS'}
]
});
var userStore = Ext.create('Ext.data.Store', {
model: 'Client',
proxy: {
type: 'ajax',
url: '/Examples/GetUsers',
reader: {
type: 'json',
root: 'users'
}
},
autoLoad: true
});
这是什么意思“url:'/ Examples / GetUsers',”!!我应该在我的情况下更换!!
答案 0 :(得分:0)
你的第一个问题有点模糊。我从来没有使用Ext JS,但是从你发布的代码中,我觉得它使用GetUsers函数创建了自己的表。您发布的第一个视图是Visual Studio可以自动创建的索引视图,用于显示您的数据。如果您的Ext JS正在创建表,那么我建议您使用适当的代码替换Index View以调用表数据。然后,方法GetUsers应重命名为Index。
关于/ Examples / GetUsers的问题应该是保存数据的控制器方法的URL(类似于/ Client / Save)。