Asp.net中ascx的应用问题

在调用ascx文件时图片及连接是否全部要保持一致?为什么要这样?那我自定义的控件还有什么用?一不小心路径就不对,微软这样搞不是在给我们找麻烦吗?

如果你是通过js来访问,就往下看:
用户控件被显示在客户端后,其实它把自己的内容都生成到了它所在页的form中,你可以用以前的方法来访问它,尽管你在设计时找不到用户控件里的控件,像下面:
//aa.ascx
<input id="id1" type="text">

//.aspx
<uc1:aa id="usercontrol">
<script>
var val = document.all.id1.value; //虽然不能看到,但依然能访问,因js的执行是在客户端
</script>

//所以你就像平时写代码一样,直接写,不过你需要到用户控件里看一下你用的控件的id是什么追问

不太明白!我遇到的问题是在ascx文件中调用了资源,在调用ascx时路径会出错啊

温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-10
ascx主要是保证同样的代码,我们不用在多处写。
比如头部,可能整个网站,或者整个频道都是统一的。假如你网站有几百个页面,都含有这个头部,你是一个页面写一次,还是写成一个文件,用的时候直接调用?
假如你有一天需要修改头部某一处代码,你是每个文件去改一下,还是只改公用文件方便?追问

但是如果我在头部调用了一个logo,那在子页面调用ascx文件时路径不对呀,调用的图片无法显示呀(但在ascx文件中可以正常显示)

追答

我懂你的意思了。
比如你里面写的是
那你在/abc/index.aspx中调用的时候,实际调用的会是 /abc/images/logo.gif
那这个文件肯定就找不到的。
一般这种通用文件,都会写成相对于项目的绝对路径
比如说写成
${base} 是你的部署路径,一般默认是/ 这个需要你自己去处理一下。要么写成配置文件,要么就自动获取。

本回答被提问者采纳
相似回答