2016-10-11 6 views
3

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

Скажем, я хочу создать 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}"))) 

Я новичок, и я могу пропустить нечто фундаментальное для asp.net MVC.

ответ

1

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

Вопрос ссылка: shield ui chart: generate series dynamically? (где ор говорит, что он написал собственный HTML помощник для .net MVC)

Html хелперы ссылка: http://www.tutorialsteacher.com/mvc/html-helpers

Вы уверены, что у вас есть HTML хелперы в Shield.Web.UI пространстве имен? (См этот вопрос тоже: Referencing the Shield UI ASP.NET MVC javascript modules)

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

И здесь: How do I add BundleConfig.cs to my project? (вероятно, этот вопрос очень полезно)

второй подход

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

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

RequireJS - ASP.NET MVC Bundle Script

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

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

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

@using Shield.Web.UI 

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

+0

спасибо! – Denisx

+0

Если у вас есть еще вопросы, ответьте на эту тему. Может быть, лучше вернуться с некоторыми исключениями, если вы столкнулись с некоторыми. –

 Смежные вопросы

  • Нет связанных вопросов^_^