Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 13271|Atsakyti: 0

[ASP.NET] asp.net Naudokite stilius ir scenarijus "Orchard"

[Kopijuoti nuorodą]
Paskelbta 2016-07-28 16:21:53 | | |

Kurdami modulį Orchard, galime pridėti tam tikrų stilių ar scenarijų, kurie yra būdingi šiam moduliui. Tinklalapio optimizavimo požiūriu, dažnai turime pridėti stilių prie puslapio antraštės (<head>prie etiketės), o scenarijus norime pridėti puslapio apačioje (šalia</body> etiketės). Tačiau rodinio failas, atitinkantis mūsų sukurtą modulį, iš tikrųjų yra PartialView, ir jei pridėsime stiliaus ar scenarijaus nuorodų žymas tiesiai į rodinį, norimo efekto nepasieksime. Taigi, kaip ši funkcija tvarkoma "Orchard"?

    MVC rodinio variklio WebViewPage klasė buvo perrašyta Orchard sistemoje, o scrip{filter}t ir Style atributai buvo pridėti stiliams ir scenarijams pristatyti. Tai leidžia mums naudoti šias dvi savybes tiesiai rodinyje, kad iškviestume atitinkamą metodą.

Vidinių stilių ir scenarijų naudojimas rodiniuose

Jei reikia parašyti stiliaus apibrėžimą arba scenarijaus apibrėžimą tiesiai į puslapį. Tada galime rašyti stilius ir scenarijus į konkrečias sritis, apibrėžtas sodo tema. Pavyzdžiui, galite parašyti scenarijų į apatinę puslapio sritį naudodami šį metodą:
@using (scrip{filter}t.Foot())
{
  <scrip{filter}t type="text/javascrip{filter}t">
    funkcija JsSub() {
      Scenarijus galima parašyti čia
    }
  </scrip{filter}t>
}
Orchard atributas Style neturi Head metodo, galbūt Orchard nenori, kad mes naudotume vidinius stilius. Taigi įdėkime stilių į išorinį stiliaus failą.
Išorinių stilių ir scenarijų naudojimas rodinyje

Jei norime iškviesti stilius ir scenarijus moduliuose. Tada galiu naudoti scrip{filter}t ir Style atributų Include metodą, pvz.:
@{
  Style.Include("xxx.css");
  scrip{filter}t.Include("xxx.js");
}
Tokiu būdu, atvaizduodamas puslapį, orchard automatiškai ieškos atitinkamo stiliaus failo šio modulio kataloge Stiliai ir sugeneruos stiliaus nuorodos žymą, kurią rašys puslapio viršuje. Jis taip pat ieškos atitinkamo scenarijaus failo scrip{filter}ts kataloge ir sugeneruos scenarijaus nuorodos žymą, parašytą puslapio apačioje.
Naudokite išteklių failus

Be dviejų aukščiau aprašytų metodų, "Orchard" taip pat teikia išteklių failo manifesto funkciją. Man tereikia sukurti ResourceManifest.cs failą modulio šakniniame kataloge ir įdiegti IResourceManifestProvider sąsają. Šiame išteklių manifesto faile galime turėti turtingesnes stilių ir scenarijų failų nuorodų funkcijas.
Pavyzdžiui, nuorodos į scenarijaus failą apibrėžimas gali būti naudojamas su:
public void BuildManifests(ResourceManifestBuilder builder) {
        statybininkas. Pridėti (). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js")
}
Tokiu būdu, nurodydami rodinį, galite naudoti:
@{
scrip{filter}t.Require("jQuery");
}
Be to, apibrėžus, kiti moduliai taip pat gali naudoti šį šaltinį, o kai puslapyje yra keli peržiūros failai, nurodantys šį šaltinį, nebus pasikartojančių nuorodų, o Orchard sugeneruos tik žymą, nurodančią šį scenarijų.
Tas pats pasakytina ir apie stilių apibrėžimą:
statybininkas. Pridėti (). DefineStyle ("jQueryUI_Orchard"). SetUrl("jquery-ui-1.8.11.custom.css");
Naudojant:
@{
Style.Require("jQueryUI_Orchard ");
}
Išteklių failų sąrašas taip pat turi priklausomybės nustatymo funkciją. Kai scenarijaus išteklius turi priklausyti nuo kitų scenarijaus išteklių, galima naudoti šį apibrėžimą:
statybininkas. Pridėti (). Definescrip{filter}t("jQueryUI_Core"). SetUrl("jquery.ui.core.min.js"). SetDependencies("jQuery");
Tokiu būdu mes naudojame tik jQueryUI_Core scenarijų rodinyje, ir jis automatiškai importuos jquery scenarijų, nuo kurio jis taip pat priklauso.
Jei vienu metu pasikliaujate keliais scenarijais, galite naudoti kablelius, kad atskirtumėte kelis priklausomus išteklius, pvz.:
statybininkas. Pridėti (). Definescrip{filter}t("jQueryUI_Draggable"). SetUrl("jquery.ui.draggable.min.js")SetDependencies("jQueryUI_Core", "jQueryUI_Widget", "jQueryUI_Mouse");
Tačiau "Orchard" dar nepalaiko scenarijaus išteklių, priklausančių nuo stiliaus išteklių, funkcijos, o tai šiek tiek gaila, tiesą sakant, kai kuriuos js reikia naudoti tuo pačiu metu kaip stiliaus failus, pvz., "jQueryUI" papildinį.
Be to, išteklių inventoriaus failas taip pat gali nustatyti skirtingus scenarijaus failus derinimo režimui ir išleidimo režimui, taip pat gali apibrėžti atitinkamą išteklių versiją, pvz.:
statybininkas. Pridėti (). Definescrip{filter}t("jQuery"). SetUrl("jquery-1.5.2.min.js", "jquery-1.5.2.js"). SetVersion ("1.5.2");


    Orchard.jQuery modulis, pateikiamas kartu su Orchard, yra vienas iš tokių modulių, apibrėžiančių jQueryUI papildinį. Jei mums reikia naudoti šį įskiepį, galime pažvelgti į js įskiepį, apibrėžtą šiame manifesto faile, ir nurodyti jį savo modulyje. Tačiau verta paminėti, kad jei mums reikia nurodyti turinį Orchard.jQuery modulyje, modulio manifesto faile turime nustatyti priklausomybę Orchard.jQuery modulį, kad įjungus mūsų modulį Orchard.jQuery modulis būtų įjungtas sinchroniškai, kad būtų užtikrinta, jog mūsų nurodyti ištekliai gali būti iškviesti įprastai.


jquery nurodomas naudojant scrip{filter}t.Require("jQuery"). AtHead();




Ankstesnis:"Microsoft" atvirojo kodo sistemos sodo diegimo pamoka
Kitą:mvc naudoja Html.RenderPartial puslapių numeracijai
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com