0

ヘルパーを使用して MVC3 に JqGrid を実装しようとしていますが、常に javascript エラーが発生します -* 「JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'jqGrid' をサポートしていません」。※私のプロジェクトでは MVCJqgrid の参照も追加しています。ビューでのJqgridの私のコードは次のとおりです:-

@(Html.Grid("AgentGrid")
    .SetCaption("Agents")

    .AddColumn(new MvcJqGrid.Column("AgentId").SetLabel("Agent SSN"))
        .AddColumn(new MvcJqGrid.Column("Name"))
        .AddColumn(new MvcJqGrid.Column("Country"))
        .AddColumn(new MvcJqGrid.Column("City"))
        .AddColumn(new MvcJqGrid.Column("Title"))
        .SetUrl(Url.Action("List", "Home"))
    .SetAutoWidth(true)
    .SetRowNum(10)
    .SetViewRecords(true)
    .SetPager("pager")
    )

そして、ここにコントローラーでの私のアクションコードがあります:-

 public ActionResult List(GridSettings gridSettings)
        {
            DataContext db = new DataContext();

            string Name = string.Empty;
            string Country = string.Empty;
            string City = string.Empty;
            string Title = string.Empty;

            if (gridSettings.IsSearch)
            {
                Name = gridSettings.Where.rules.Any(r => r.field == "Name") ?
                       gridSettings.Where.rules.FirstOrDefault(r => r.field == "Name").data : string.Empty;
                Country = gridSettings.Where.rules.Any(r => r.field == "Country") ?
                gridSettings.Where.rules.FirstOrDefault(r => r.field == "Country").data : string.Empty;
                City = gridSettings.Where.rules.Any(r => r.field == "City") ?
               gridSettings.Where.rules.FirstOrDefault(r => r.field == "City").data : string.Empty;
                Title = gridSettings.Where.rules.Any(r => r.field == "Title") ?
               gridSettings.Where.rules.FirstOrDefault(r => r.field == "Title").data : string.Empty;

            }

            var Agents = db.Agent.ToList();
            int totalAgents = Agents.Count;
            var jsonData = new
            {
                total = totalAgents / gridSettings.PageSize + 1,
                page = gridSettings.PageIndex,
                records = totalAgents,
                rows = (
                        from c in Agents
                        select new
                        {
                            id = c.AgentId,
                            cell = new[]
                    { c.AgentId.ToString(),
                        string.Format("{0} {1}", c.Name, c.Country),
                        c.City,
                        c.Title
                    }
                        }).ToArray()
            };

            return Json(jsonData, JsonRequestBehavior.AllowGet);
        }

問題を解決するために私に提案してください!! 前もって感謝します!!

4

2 に答える 2

0

エラーによると、scipts が適切にロードされていません。このプラグインは jqGrid ライブラリを追加しないと思われます。BundleConfig または _Layout.chrtml に手動で追加する必要がありますが、これは構造によって異なります。

編集: jqGrid init メソッドを適切な場所 (document.ready) に配置する必要があります。また、jqgrid のスクリプトを適切な順序で配置する必要があります。これを読んでください。

$(function () {
    $("#grid").jqGrid({ blabla });
});
于 2013-08-22T06:50:26.050 に答える