Nano Hash - криптовалюты, майнинг, программирование

Невозможно отобразить PartialView в модальном всплывающем окне (окно Kendo)

В моем приложении MVC я открываю всплывающее окно после нажатия кнопки «Создать», но не могу визуализировать в нем свой частичный рендеринг. Я просто хочу визуализировать частичное представление во всплывающем диалоговом окне и передать ему модель и некоторые параметры (т.е. id = 1). Подскажите, пожалуйста, в чем ошибка? Заранее спасибо.

Примечание. Любое решение, использующее модальную загрузку, также приветствовалось бы ...

Просмотр:

@(Html.Kendo().Window()
    .Name("CreateWindow")
    .Title("Create Employee")
    .Visible(false)
    .Draggable(true)
    .LoadContentFrom("_Create", "Employee")
    .Width(800)
    .Modal(true)
    .Content("Loading Part List Info...")
    .Draggable()
    .Resizable()
)


<script type='text/javascript'>
$(function () {
    // When your button is clicked
    $('#createbtn').click(function () {
        var createWindow = $('#CreateWindow').data('kendoWindow');
        createWindow.center().open();
    });
});
</script>


Контроллер:

[HttpGet]
public ActionResult _Create()
{
    var model = repository.Employee;
    return PartialView(model);
}


PartialView:

@model Employee

<div>MY PARTIAL VIEW CONTENT GOES HERE ...</div>



  • Я пробовал ваш код, и у меня он отлично работает. Просто отсутствует закрытый тег </script> в конце вашего представления. 28.05.2015
  • На самом деле, в моем проекте нет отсутствующего тега, и я также добавил недостающий тег выше. С другой стороны, диалог открывается, но контент из частичного просмотра не отображается, и данные модели не могут быть извлечены в модальное окно. Любая идея? 28.05.2015
  • Поскольку мне кажется, что это работает для меня, а не для вас, я думаю, проблема в другом. Есть ли у вас, на всякий случай, какие-то потенциально связанные ошибки JavaScript от вашего навигатора? (из вашего примера, на моей стороне, я могу передать данные модели в PartialView и хорошо отобразить их в этом) 28.05.2015
  • Мне не нравится использовать свойство content для запроса частичного содержимого. Я использую метод jQuery load() в блоке содержимого, а затем после загрузки содержимого показываю окно. 28.05.2015
  • @DontVoteMeDown Не могли бы вы опубликовать свой пример кода, внеся необходимые изменения в код выше? Обещаю, голосовать не буду :) 29.05.2015
  • @Banov Я повторил попытку, но, хотя модальное окно открыто, частичное представление в нем невозможно. С другой стороны, до и после открытия модального окна в консоли firebug нет ошибок. С другой стороны, при отладке код не попадает в метод _Cretate в контроллере. Есть ли что-нибудь для вызова метода в javascript, то есть URL-адресе? 29.05.2015

Ответы:


1

Вот мой рабочий код, надеюсь, он вам поможет:

Просмотр:

@{ ViewBag.Title = "Test"; }
@Styles.Render("~/Content/kendoui/css")

<input type="button" id="createbtn" value="Test kWindow"/>

@(Html.Kendo().Window()
    .Name("CreateWindow")
    .Title("Create Employee")
    .Visible(false)
    .Draggable(true)
    .LoadContentFrom("_Create", "Employee", new { id = 1 })
    .Width(800)
    .Modal(true)
    .Content("Loading Part List Info...")
    .Draggable()
    .Resizable()
)

@Scripts.Render("~/bundles/kendoui")
<script type='text/javascript'>
$(function () {
    // When your button is clicked
    $('#createbtn').click(function () {
        var createWindow = $('#CreateWindow').data('kendoWindow');
        createWindow.center().open();
    });
});
</script>

PartialView:

@model Banov.Controllers.Employee
<div>MY PARTIAL VIEW CONTENT GOES HERE ...</div>
<div>@(Model.Id)</div>
<div>@(Model.FirstName)</div>
<div>@(Model.LastName)</div>

Контроллер:

using System.Web.Mvc;
namespace Banov.Controllers
{
    public class EmployeeController : Controller
    {
        public ActionResult Index()
        {
            return View();
        }

        [HttpGet]
        public ActionResult _Create(int id)
        {
            var model = new Employee
                    {
                        Id = id,
                        FirstName = "John",
                        LastName = "Doe"
                    };
            return PartialView(model);
        }
    }

    public class Employee
    {
        public int Id { get; set; }
        public string FirstName { get; set; }
        public string LastName { get; set; }
    }
}
29.05.2015
  • Большое спасибо за вашу помощь. На самом деле это не сработало с первой попытки после попытки вашего опубликованного кода, но я понял, что при отладке код попадает в точку останова в строке javascript, и после отключения точки останова он сработал (я думаю, что основная проблема заключалась не в загрузке кендо сетка правильно, и это вызывает некоторые проблемы с javascript). В любом случае, я надеюсь, что этот ответ будет полезен и другим. Спасибо еще раз. Проголосовали + 29.05.2015
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

    Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
    В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..