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

Lar*_*nal 7 visual-studio

对于任何常见的"asp:__________"控件(asp:gridview,asp:repeater等),我总是添加runat ="server".是否有任何理由不让Intellisense自动插入?

Meh*_*ari 4

如果你真的想输出类似的东西怎么办<asp:xyz>?例如,如果您想生成带有命名空间的 XML 文档,您可能希望使用不带任何 的模板runat="server",例如:

<root xmlns="..." xmlns:asp="...">
   <asp:GridView>
       <name><%= Request["name"] %></name>
   </asp:GridView>
</root>
Run Code Online (Sandbox Code Playgroud)

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

  • 这是事实,但与使用 asp 控件的本来面目相比,这似乎是不太常见的情况。 (4认同)