ASP.NET MVC 4和Ext JS 4网格面板

时间:2013-04-04 19:01:05

标签: json extjs asp.net-mvc-4 web

我正在使用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',”!!我应该在我的情况下更换!!

1 个答案:

答案 0 :(得分:0)

你的第一个问题有点模糊。我从来没有使用Ext JS,但是从你发布的代码中,我觉得它使用GetUsers函数创建了自己的表。您发布的第一个视图是Visual Studio可以自动创建的索引视图,用于显示您的数据。如果您的Ext JS正在创建表,那么我建议您使用适当的代码替换Index View以调用表数据。然后,方法GetUsers应重命名为Index。

关于/ Examples / GetUsers的问题应该是保存数据的控制器方法的URL(类似于/ Client / Save)。