有没有办法在 razor View 内的 JavaScript HTML 模板中保留 HTML/ASP.net 语法突出显示和代码完成?
为了帮助突出显示(双关语)问题,请查看问题图片:
编辑:这个问题与 Visual Studio 2010 相关。
最佳答案
为它创建一个助手,如 Syntax highlighting for script tags with html templates in Visual Studio 2010 MVC3 applications 所示.
从那里获取代码,这里是该链接的基本内容。
首先,向您的 HtmlHelperExtensions
添加一些代码:
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));
}
}
现在您可以像使用 Html.BeginForm()
一样使用它了:
@using (Html.BeginHtmlTemplate("person-template"))
{
<h3>Heading</h3>
<p>Credits: <span></span></p>
}
瞧!通过在 Visual Studio 中隐藏相关部分来突出显示语法。
关于asp.net-mvc-3 - 在 <script> "text/html"模板中保持正确的 HTML 语法突出显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14449312/