2013-12-20 177 views
0

我们正在使用HtmlTextWriter动态地将脚本标记添加到页面,这很好用。我们有一些需要添加异步关键字,我不知道如何去做。使用HtmlTextWriter将脚本标记添加到脚本标记

我希望标签看起来像这样。

<script id="my_script" async type="text/javascript" src="myscript.js"></script> 

构建标签的方法如下所示。

internal static void RenderJavaScriptInclude(HtmlTextWriter writer, string  filePath, string Id) 
{ 
    writer.AddAttribute(HtmlTextWriterAttribute.Id, Id); 
    writer.AddAttribute(HtmlTextWriterAttribute.Type, "text/javascript"); 
    writer.AddAttribute(HtmlTextWriterAttribute.Src, filePath); 
    writer.RenderBeginTag(HtmlTextWriterTag.Script); 
    writer.RenderEndTag(); 
} 

如何修改以添加“异步”?

许多感谢一如既往

朗达

+0

你需要做什么异步?你可以将'async'装饰器添加到'RenderJavaScriptInclude'中,但是我看不到你需要它的地方。 –

+0

我正在整合第三方应用程序,他们要求它完全像这样在标记中。这是来自整合文件。 <!DOCTYPE HTML \t公共\t ... \t EN” \t \t \t \t \t \t YourWebsite.com \t \t \t \t \t \t \t ...的\t标准\t文件\t体的\t您\t网站\t ... \t \t – Rhonda

+0

啊,对不对在输出中。据我所知,格式应该是'async =“async”'这基本上是writer.AddAttribute(“async”,“async”)。只要我可以告诉这将做你想要的(即输出属性没有值。否则,你试过'writer.AddAttribute(“async”,string.Empty)''或'writer.AddAttribute(“async”,空)'? –

回答

0

根据该RenderBeginTag方法的源代码,具有价值的任何属性等于null(但不String.Empty)无引号值将被渲染。因此,在致电RenderBeginTag之前致电writer.AddAttribute("async", null);