文本/ x-jquery-tmpl脚本模板中的VS2010 IntelliSense

我一直在使用我绝对喜欢使用的jQuery模板。 IDE的唯一缺点是脚本标签中缺少HTML IntelliSense。有没有办法愚弄VS2010,使模板脚本标签内的标记可以获得IntelliSense和语法高亮?

解决方法

我为ASP.NET MVC 3创建了一个帮助程序,它的工作原理如下,灵感来自于Html.BeginForm:

在视图内:

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

@using范围内的任何内容都将突出显示语法。

助手的代码

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));
    }
}

相关文章

jQuery插件的种类 1、封装对象方法 这种插件是将对象方法封装起来,用于对通过选择器获取的jQuery对象进...
扩展jQuery插件和方法的作用是非常强大的,它可以节省大量开发时间。 入门 编写一个jQuery插件开始于给...
最近项目中需要实现3D图片层叠旋转木马切换的效果,于是用到了jquery.roundabout.js。 兼容性如图: ht...
一、什么是deferred对象? 开发网站的过程中,我们经常遇到某些耗时很长的javascript操作。其中,既有异...
AMD 模块 AMD(异步模块定义,Asynchronous Module Definition)格式总体的目标是为现在的开发者提供一...