Как включить шилдуи в asp.net mvc?

Я новичок в shieldui js и asp.net mvc, и я делаю несколько примеров для поезда. У меня нет проблем с включением js в html-файл, но я изо всех сил пытаюсь включить его в asp.net mvc. Допустим, у меня есть jquery и Shield UI в папке Scripts. Я сделал ссылку на Shield.Mvc.UI, но я все еще не могу получить к ним доступ через @(Html.XXXX).

Допустим, я хочу создать ShieldCalendar, используя View.cshtml. Пример:

<div class="container">
@(Html.ShieldCalendar()
    .Name("calendar")
    .HtmlAttribute("class", "calendar")
    .Min(new DateTime(2009, 2, 23))
    .Max(new DateTime(2039, 3, 1))
    .Value(DateTime.Now)
    .Footer(fb => fb.Enabled(true).FooterTemlpate("{0:dd.MM.yy}")))

I'm a beginner and I may miss something fundamental for asp.net MVC.


person Expressingx    schedule 11.10.2016    source источник


Ответы (1)


Более поздние выводы: похоже, что некоторое время назад для этого не было вспомогательных методов расширения html. Вы уверены, что у вас есть что-то подобное?

Ссылка на вопрос: shield ui chart: динамически генерировать серии? (где op говорит что он написал собственный хелпер html для .net mvc)

Справочник по HTML-помощникам: http://www.tutorialsteacher.com/mvc/html-helpers

Вы уверены, что у вас есть хелперы html в пространстве имен Shield.Web.UI? (см. также этот вопрос: Ссылка на пользовательский интерфейс Shield ASP.NET MVC модули JavaScript)

1-й подход

На данный момент вы можете создать пакет с этими двумя файлами javascript.

Откройте App_Start\BundleConfig.cs, там у вас будет метод RegisterBundles, где вы можете создать пакет с этими двумя файлами.

 public static void RegisterBundles(BundleCollection bundles)
 {
     bundles.Add(new ScriptBundle("~/bundles/jqueryand")
              .Include("~/Scripts/jquery-3.1.1.js"))
              .Include("~/Scripts/shieldui.js"); 
              // i don't know exactly the name of the library

 }

И в свой Global.asax.cs нужно прописать этот бандл:

В методе Application_Start добавьте следующую строку:

  BundleConfig.RegisterBundles(BundleTable.Bundles);

Затем в вашем _Layout или вашем более конкретном представлении вам нужно будет добавить @Scripts.Render("~/bundles/jquery")

Подробнее об этом подходе здесь: https://www.asp.net/mvc/overview/performance/bundling-and-minification

А здесь: Как добавить BundleConfig.cs в мой проект? (вероятно, этот вопрос очень полезен)

2-й подход

Используйте что-то вроде RequireJs для .NET, что добавит некоторые функции вашему приложению, но также усложнит его.

Смотрите мой ответ на вопрос ниже:

RequireJS – скрипт ASP.NET MVC Bundle

Об этой части вашей проблемы:

но я все еще не могу получить к ним доступ через @(Html.XXXX).

Возможно, ваш intellisense не работает, вы можете попробовать после того, как добавите скрипт на страницу/макет и убедитесь, что у вас есть

@using Shield.Web.UI

для вашей страницы/макета.

person Razvan Dumitru    schedule 11.10.2016
comment
Если у вас есть еще вопросы, пожалуйста, ответьте в этой теме. Может быть, лучше вернуться с некоторыми исключениями, если вы сталкиваетесь с некоторыми. - person Razvan Dumitru; 11.10.2016