Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

155
Visualizações
VS2010 IntelliSense dentro de plantillas de secuencias de comandos text/x-jquery-tmpl

He estado usando plantillas de jQuery que me encanta usar. El único inconveniente desde el punto de vista del IDE es la falta de HTML IntelliSense dentro de la etiqueta del script. ¿Hay alguna manera de engañar a VS2010 para que el marcado dentro de las etiquetas de script de plantilla obtenga IntelliSense y resaltado de sintaxis?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Creé un método auxiliar para ASP.NET MVC 3 que funciona así, inspirado en Html.BeginForm:

dentro de la vista:

 @using (Html.BeginHtmlTemplate("templateId")) { <div>enter template here</div> }

Cualquier cosa dentro del alcance de @using se resaltará sintaxis.

El código para el ayudante:

 public static class HtmlHelperExtensions { public static ScriptTag BeginHtmlTemplate(this HtmlHelper helper,string id) { return new ScriptTag(helper,"text/html", id); } } public class ScriptTag : IDisposable { private readonly TextWriter writer; private readonly TagBuilder builder; public ScriptTag(HtmlHelper helper, string type, string id) { this.writer = helper.ViewContext.Writer; this.builder = new TagBuilder("script"); this.builder.MergeAttribute("type", type); this.builder.MergeAttribute("id", id); writer.WriteLine(this.builder.ToString(TagRenderMode.StartTag)); } public void Dispose() { writer.WriteLine(this.builder.ToString(TagRenderMode.EndTag)); } }
over 4 years ago · Santiago Trujillo Relatório

0

Resolví este problema creando un control de servidor personalizado simple (para la aplicación ASP.NET 4 WebForms):

 [ToolboxData("<{0}:JqueryTemplate runat=server></{0}:JqueryTemplate>")] [PersistChildren(true)] [ParseChildren(false)] public class JqueryTemplate : Control { private bool _useDefaultClientIdMode = true; [DefaultValue(ClientIDMode.Static)] [Category("Behavior")] [Themeable(false)] public override ClientIDMode ClientIDMode { get { return (_useDefaultClientIdMode) ? ClientIDMode.Static : base.ClientIDMode; } set { base.ClientIDMode = value; _useDefaultClientIdMode = false; } } protected override void Render(HtmlTextWriter writer) { writer.AddAttribute(HtmlTextWriterAttribute.Type, "text/x-jquery-tmpl"); writer.AddAttribute(HtmlTextWriterAttribute.Id, ClientID); writer.RenderBeginTag(HtmlTextWriterTag.Script); base.Render(writer); writer.RenderEndTag(); } }

y coloque cada plantilla de jquery dentro (en lugar de la etiqueta <script> ):

 <some:JqueryTemplate runat="server" ID="myTemplateId"> ... your template code goes here ... </some:JqueryTemplate>

lo representará en HTML como:

 <script type="text/x-jquery-tmpl" id="myTemplateId"> ... your template code goes here ... </script>
over 4 years ago · Santiago Trujillo Relatório

0

No creo que pueda, a menos que engañe al editor para que no sepa que está escribiendo una etiqueta de secuencia de comandos, como escribirla en código (asistente HTML más o menos). Lo solucionaría cambiando el nombre de la etiqueta (o comentándolo) temporalmente y recuperándolo una vez que haya terminado. Seguro que es una solución tonta.

Otra cosa que puede hacer es en lugar de usar una etiqueta de secuencia de script , use cualquier otra etiqueta como div configurando su style para display:none . Debería funcionar exactamente de la misma manera (ejemplo en medio de este artículo ).

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda