日期:2014-05-18  浏览次数:20455 次

如何获取用户控件(.ascx)的物理文件名
如题.
在后置代码中如何获取该控件的物理文件名

而在一个页面(.aspx)则可通过如下方式获取:
Response.Write(Server.MapPath(Request.Path));

------解决方案--------------------
AppDomain.CurrentDomain.BaseDirectory
这是根目录
AppDomain.CurrentDomain下面还有些其他的目录
你拼下就出来了
------解决方案--------------------
晕....

Server.MapPath(Request.Path)这不都已经出来了嘛,没人请求这个页面,你写的代码还有什么用?请求的时候,Request不就有了嘛
------解决方案--------------------
这种态度,会也不说了。
问的都不明确,还说的挺有理
------解决方案--------------------
一般文件跟类名是一样的,你可以GetType 再处理下
------解决方案--------------------
不懂你到底问的是什么。

不过,我估计我说一个你的问题,你自己也就含糊了,所以需要想好了再问:谁说Request.Path中是当前页面对象的地址?它只是浏览器请求服务器端的地址。例如你在Button控件中使用PostbackUrl参数得到的结果,以及UrlRewrite得到的结果,Server.Transfer得到的结果,甚至页面可能根本没有aspx文件而仅是dll中编译好的一个Page的子类的实例,等等。

可能你用那个 Request.Path (客户端请求url)想当然地认为是当前页面的路径。据此逻辑,我就不知道你对用户控件又会怎样(错误地)推测了。

你最好还是重新整理自己的设计思路,用更加细致、无歧异的描述来设计。
------解决方案--------------------
http://topic.csdn.net/t/20060109/07/4505002.html
这个里面有讨论
------解决方案--------------------
如果文件名和类名不同的话,那可能就象思归老大说的那样,要通过反射来得到了