Сущность не загружается в Easy Query Builder в приложении MVC

Я добавил Easy Query Builder в свой проект MVC с помощью демонстрационного приложения Easy Query Builder и добавил файлы.css и.js в соответствии с демонстрационным проектом. во время выполнения сущность не загружается, и конструктор и getModel() не были вызваны. EQ.Client не определен после загрузки страницы Вот мой код.

EasyQuery.cshtml (просмотреть)

<script type="text/javascript">
        window.easyQuerySettings = {
            serviceUrl: "/EasyQuery",
            modelName: "NWindSQL",
            entitiesPanel: { showCheckboxes: true },
            columnsPanel: {
                allowAggrColumns: true,
                attrElementFormat: "{entity} {attr}",
                showColumnCaptions: true,
                adjustEntitiesMenuHeight: false,
                menuOptions: {
                    showSearchBoxAfter: 30,
                    activateOnMouseOver: true
                }
            },
            queryPanel: {
                showPoweredBy: false,
                alwaysShowButtonsInPredicates: false,
                adjustEntitiesMenuHeight: false,
                menuOptions: {
                    showSearchBoxAfter: 20,
                    activateOnMouseOver: true
                }
            },
            syncQueryOptions: {
                sqlOptions: { SelectDistinct: true }
            },
        };
        function getPrefix() {
            var res = window.location.pathname;
            if (res.charAt(res.length - 1) !== '/')
                res = res + '/';
            return res;
        }
    </script>
   <div class="entities-panel-container">
                    <div id="EntitiesPanel"></div>
                </div>
 <div class="columns-panel-container">
                        <div id="ColumnsPanel"></div>
                    </div>
<div class="query-panel-container">
                        <div id="QueryPanel"></div>
                    </div>
<script type="text/javascript">
  **$(function () {
            var query = EQ.client.getQuery();            
            EQ.client.loadModel({ modelName: "Model1" });
        });**
</script>

в EasyQuerycontroller.cs

 public class **EasyQueryController** : Controller
    {



        private EqServiceProviderDb eqService;

        public **EasyQueryController()**
        {
            eqService = new EqServiceProviderDb();
            eqService.SessionGetter = key => Session[key];
            eqService.SessionSetter = (key, value) => Session[key] = value;
            eqService.StoreQueryInSession = true;

            eqService.Formats.SetDefaultFormats(FormatType.MsSqlServer);
            eqService.Formats.UseSchema = false;

            string dataPath = System.Web.HttpContext.Current.Server.MapPath("~/App_Data");
            eqService.DataPath = dataPath;
            eqService.Connection = new SqlConnection("Data Source=" + System.IO.Path.Combine(dataPath, "Northwind.sdf"));
        }
   [HttpPost]
        public ActionResult GetModel(string modelName)
        {
            var model = eqService.GetModel(modelName);
            return Json(model.SaveToDictionary());
        }

...
}

мне нужно изменить какой-то код или включить какую-то другую функцию, чтобы заполнить элемент EQ.Client.

1 ответ

Я не вижу, где вы на самом деле включаете скрипты EasyQuery на своей странице просмотра. В конце (перед закрытием тега "body") страницы просмотра должно быть что-то вроде следующей разметки:

<script src="http://cdn.korzh.com/eq/3.6.0/eq.all.min.js" type="text/javascript"></script>
<script src="http://cdn.korzh.com/eq/3.6.0/eq.view.basic.js" type="text/javascript"></script>
Другие вопросы по тегам