如何动态地包括外部文件/用户控制

本文关键字:文件 用户 控制 包括外 何动态 动态 | 更新日期: 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

的代码