как мне вызвать контроллер в kendo ui grid mvc

Как мне вызвать контроллер в сетке mvc kendoui

вот код:

но не работает:

   .ClientTemplate(string.Format("<a class=\"modal\" rel=\"/address/#= Id #/map\" close=\"{0}\" title=\"{1}\"><img src=\"/content/images/ico_edit_16.png\" /></a>",
                                T("Common.Close").Text,
                                T("Address.MapAddress").Text)

вот контроллер:

  public ActionResult AddressMap( int accountId)
    {
        //load default accounts
        var listModel = new AddressListModel();
        //{
        //    AccountId = accountId,
        //    GridPageSize = _commonSettings.GridPageSize,
        //};

        //listModel.Addresses = new List<AddressModel>();
        return View(listModel);
    }

person Manoj    schedule 02.03.2017    source источник
comment
вы не устанавливаете href ссылки из того, что я вижу. также вы ожидаете, что эта ссылка загрузит переход с текущей страницы или загрузит modal или другую часть экрана?   -  person David Shorthose    schedule 02.03.2017
comment
как настроить..можете подсказать??   -  person Manoj    schedule 02.03.2017
comment
URL-адрес всегда будет одним и тем же или он будет меняться в зависимости от предоставленной модели?   -  person David Shorthose    schedule 02.03.2017
comment
URL-адрес будет ошибкой при этих условиях   -  person Manoj    schedule 02.03.2017


Ответы (1)


Используя ваш существующий код:

   .ClientTemplate(string.Format("<a class=\"modal\" rel=\"/address/#= Id #/map\"    
                     close=\"{0}\" title=\"{1}\"><img src=\"/content/images/ico_edit_16.png\" /></a>",
                                T("Common.Close").Text,
                                T("Address.MapAddress").Text)

Вы увидите, что устанавливаете параметр rel тега a, а не свойство href.

поэтому все, что вам нужно сделать, это изменить тег, чтобы он выглядел примерно так:

(string.Format("<a class='k-link' href='{2}' close='{0}' title='{1}'><img src='/content/images/ico_edit_16.png' />#=Id#</a>",
                                    T("Common.Close").Text,
                                    T("Address.MapAddress").Text, @Url.Action("AddressMap", "{Your Controller}", new {accountId= "#=Id#"})))

Все, что я сделал, это передал URL-адрес форматировщику строк, а затем привязал accountId к идентификатору, который передается в строку из элемента данных.

Я также добавил идентификатор к ссылке, чтобы вы могли видеть, что представлено.

Если это не то, что вы хотели, дайте мне знать, что вам действительно нужно, и я соответствующим образом изменю ответ.

person David Shorthose    schedule 02.03.2017
comment
Ошибка сервера в приложении '/' Ресурс не найден. Описание: HTTP 404. Ресурс, который вы ищете (или одна из его зависимостей), мог быть удален, его имя было изменено или он временно недоступен. Просмотрите следующий URL-адрес и убедитесь, что он написан правильно. Запрошенный URL-адрес: /Account/AddressMap Информация о версии: Версия Microsoft .NET Framework: 4.0.30319; Версия ASP.NET: 4.6.81.0 - person Manoj; 02.03.2017
comment
все, что вам нужно сделать, это изменить URL-адрес, чтобы он соответствовал подписи вашего контроллера. В приведенном примере вы использовали accountId и параметр, но в приведенном выше комментарии вы используете addressId - person David Shorthose; 02.03.2017
comment
теперь я нажал на контроллер.. я хочу показать адрес на карте, вы можете мне что-нибудь подсказать?? - person Manoj; 02.03.2017
comment
Все зависит от вас, я думаю, и от того, как вы хотите, чтобы пользовательский опыт был. Я бы предложил изучить использование поставщика картографических услуг, такого как google, openstreetmaps, bing и т. д., а затем использовать их структуру для загрузки ваших данных на карту. Если вы посмотрите здесь demos.telerik.com/kendo-ui/map/index вот тебе примеры - person David Shorthose; 02.03.2017
comment
в .Center(30.268107, -97.744821) я хочу передать значение модели, так что вы можете сказать, что я должен написать и как объявить модель на этой странице просмотра?? - person Manoj; 02.03.2017
comment
я объявил модель в верхней части страницы @model AccountAddressEditModel - person Manoj; 02.03.2017
comment
как я могу получить доступ к значениям 30.268107 и -97.744821 - person Manoj; 02.03.2017
comment
просто добавьте значения в свою модель, а затем получите к ним доступ с помощью @model.{your property here} - person David Shorthose; 02.03.2017
comment
Это действительно выходит за рамки этого вопроса, поэтому, пожалуйста, задайте другой вопрос. - person David Shorthose; 02.03.2017
comment
Сэр, не могли бы вы сказать мне, как использовать карту Google на странице просмотра пользовательского интерфейса кендо в MVC ?? - person Manoj; 03.03.2017