这个问题之所以存在,是因为它确实存在 具有历史意义,但事实并非如此 被认为是一个很好的主题问题 因为是本网站,所以请不要使用 作为证据,你可以问类似的问题 这里的问题。 更多信息:https://stackoverflow.com/faq


总有一些功能在边缘场景中很有用,但正是因为这个原因,大多数人都不知道它们。我要求的是课本上通常没有教过的特性。

你知道的是什么?


当前回答

你可以使用ASP。.aspx页面中的。NET注释用于注释掉页面的全部部分,包括服务器控件。而且被注释掉的内容永远不会被发送到客户端。

<%--
    <div>
        <asp:Button runat="server" id="btnOne"/>
    </div>
--%>

其他回答

包含在ASP中。Net 3.5 sp1:

customErrors现在支持“redirectMode”属性,值为“ResponseRewrite”。显示错误页面而不改变URL。 表单标记现在识别操作属性。非常适合在使用URL重写时使用

System.Web.VirtualPathUtility

可以将ASPX页面打包到一个库(.dll)中,并将它们与ASP. dll一起提供。净引擎。

您需要实现自己的VirtualPathProvider,它将通过Relfection特定的DLL加载,或者您可以在路径名中包含DLL名称。由你决定。

当覆盖VirtualFile时,奇迹发生了。方法,在其中从程序集类返回ASPX文件作为资源:Assembly. getmanifestresourcestream。ASP。NET引擎将处理资源,因为它是通过VirtualPathProvider提供的。

这允许插件页面,或者像我所做的那样,使用它来包含带有控件的HttpHandler。

HttpContext。IsCustomErrorEnabled是一个很酷的特性。我不止一次发现它很有用。这里有一篇关于它的短文。

在开始一个长时间运行的任务之前,检查客户端是否仍然连接:

if (this.Response.IsClientConnected)
{
  // long-running task
}