ASP.NET控件/页面库问题
时间:2020-03-06 14:26:23 来源:igfitidea点击:
我正在处理具有预定义页面和可用控件的程序集。我在创建服务器控件时没有遇到任何困难,但是我想知道处理程序集中页面的"最佳实践"是什么。我们可以将页面编译成程序集并将其作为dll释放吗?从客户端浏览器的角度来看,如何访问它们将输入或者通过链接指向的地址?例如,我有一个简单的登录页面,其中包含标准的用户名和密码文本框,以及登录按钮和"记住我"复选框,并带有"我不记得我的用户名和/或者密码"超链接。我可以像访问网络资源一样访问该页面吗?例如" http://www.site.name/webresource.axd?related_resource_id_codes"
解决方案
我们可以在web.config中添加指向页面的httpHandler元素。就像是:
<httpHandlers> <add verb="*" path="login.aspx" type="MyPages.LoginPage, MyPages" /> </httpHandlers>
如果我们希望能够对其进行编码并将其像真实页面一样对待,那么最好的选择就是实现VirtualPathProvider。使用virtualpathprovider将允许我们将实际的aspx嵌入为资源(或者将其放置在数据库中,无论如何)并从那里提供服务,并且仍然使用asp.net页面编译引擎。
这样一来,我们仍然可以轻松地使用Visual Studio设计时工具,并避免我们必须进行大量的构建自定义来预编译页面。我们也可以在这里看到
如果我们不想这样做,则可以尝试使用aspnet_compiler工具将aspx和此类页面预编译为dll。这将需要一些构建自定义,以及一些技巧,以允许从dll服务页面。