为什么Visual Studio Intellisense不会自动插入runat =“server”?

时间:2009-07-14 23:33:12

标签: visual-studio

对于任何常见的“asp:__________”控件(asp:gridview,asp:repeater等),我总是添加runat =“server”。智能感知不应该自动插入吗?

2 个答案:

答案 0 :(得分:4)

如果您真的想输出<asp:xyz>之类的内容怎么办?例如,如果要生成带有名称空间的XML文档,您可能希望使用不带runat="server"的模板,例如:

<root xmlns="..." xmlns:asp="...">
   <asp:GridView>
       <name><%= Request["name"] %></name>
   </asp:GridView>
</root>

虽然我同意这可能不是常见的情况,但至少有一个很好的理由首先要求runat="server"而不是假设它。但是,并不总是很清楚您想要指定它的位置以及您不想要的位置。请注意,还有HtmlControls。此外,您也可以定义自己的前缀。也就是说,我个人认为VS IntelliSense系统的设计不会干扰正常打字。也就是说,它永远不会像“我认为你大部分时间都需要它。在1%的情况下,你没有,手动删除它。”

答案 1 :(得分:1)

您可以随时使用类似this add-in的内容,为您插入runat =“server”属性(可用源代码)。

编辑:加载项已从原来的家中移除,但已移植到VS2010,现在生活在http://www.rowlandoconnor.com/2010/04/16/aspx-edit-add-in-for-visual-studio-2010/