Наскоро написах библиотека на javascript, за да намаля количеството копиране, което правя. Чувствам, че всеки път, когато копирам код, има възможност да го направя общ, за да мога да го използвам повторно.
След като направих моята библиотека, исках да я използвам в изглед .cshtml. И така, използвах връзката към скрипта и vuala, тя беше налична. Въпреки това IntelliSense на Visual Studio 2010 изобщо не помагаше. Всъщност всичко, което показа, бяха обикновените опции на javascript.
Реших да накарам IntelliSense да работи с моята библиотека. След търсене на високо и ниско Разбрах го (Благодаря @SLaks). Свързаният отговор на въпрос на js IntelliSense беше връзката на скрипта да се огради с бръснач @if(false){<script>}
, за да може IntelliSense да работи със свързания скрипт в този изглед.
И така, помислих си,
Трябва ли всички връзки към скриптове в Visual Studio 2010 за razor да бъдат заобиколени с това маркиране?
@if (false)
{
<script src="/Scripts/r.js" type="text/javascript"></script>
}else{
<script src="@Url.Content("~/Scripts/r.js")" type="text/javascript"></script>
}
Изглежда ми добре, така че започнах да го включвам само за да открия, че копирам отново. Реших, че мога да направя "прост" помощник, който да използвам, може би @Html.Script(source)
. За съжаление не бях сигурен как да върна маркировка за бръснач от помощник.
Опитах това:
public static void Script(
this HtmlHelper html, string source)
{
html.ViewContext.Writer.Write("@if(false){}else{}");
}
Но той просто изписва низа на екрана :(
Как мога да върна маркировка за бръснач от помощник? ИЛИ има ли друг процес, който мога да използвам, за да направя това повторно използваемо?