如何动态地包括外部文件/用户控制
本文关键字:文件 用户 控制 包括外 何动态 动态 | 更新日期: 2023-09-27 17:50:44
我正在尝试建立一个c# . net网站,其中包括基于数据库输入的文件。
在PHP中,这很简单,我可以很容易地这样做:
<?php include('inc/'.$filename);?>
在c#中是否有类似的功能?我已经想了一段时间了,但找不到一个简单的解决方案。我知道我可以这样指定静态文件:
<%@ Register Src="~/controls/blah.ascx" TagPrefix="test" TagName="blah" %>
…但我改变不了"废话"。在代码隐藏中动态地使用Ascx。如果我总是确切地知道需要包含什么内容,那么这将工作得很好。
有人能做到这一点吗?谢谢!
您可以轻松地添加和读取服务器上的文件。不确定是要包含现有文件还是在运行中生成它们。
无论如何,这里有一个链接,解释了如何从服务器上的文件读取。http://msdn.microsoft.com/en-us/library/94223t4d.aspx
这是一个解释如何动态加载用户控件的链接。http://msdn.microsoft.com/en-us/library/c0az2h86 (v = vs.100) . aspx
我终于找到了一个解决方案,允许我包含任何用户控件,而不必在.aspx页面中注册它。
// Include external files here
// CustomControl variable can equal something like "home.ascx"
UserControl uc = (UserControl)Page.LoadControl("~/pages/" + CustomControl);
// PageCustomControl can be a Panel or PlaceHolder
PageCustomControl.Controls.Add(uc);
基于http://forums.asp.net/t/1186225.aspx?Add+Web+User+Control+from+Code+Behind