当前位置:编程学习 > C#/ASP.NET >>

MSDN错了? asp.net揭秘错了? 还是我理解错了

msdn asp.net web项目路径
http://msdn.microsoft.com/zh-cn/library/ms178116(v=vs.100).aspx#feedback

有这样一段话


第一个问题: 

无论承载该用户控件的页面位于何处,结果都是如此。

 这句话有问题当页面位于和用户控件同一目录或者是用户控件所在目录子目录  并没有前面的controls  。  我测试得到的结论是解析用户控件的服务器控件url时 会在服务器控件url前加上一段  从页面到用户控件位置的路径  使那个服务器控件成为相对于页面url   我理解的对嘛? 

第二个问题:

在主控页中,资源的路径基于内容页的路径进行解析

还有段话是msdn母版页中的:
(http://msdn.microsoft.com/zh-cn/library/wtxbf3hh(v=vs.100).aspx)
合并的内容和母版页的上下文是内容页的上下文。在母版页上的服务器控件中,ASP.NET 动态修改引用外部资源的属性的 URL。 例如,可以将一个 Image 控件放置于一个母版页上并将其 ImageUrl 属性设置为相对于母版页。 在运行时,ASP.NET 会修改 URL 以便其在内容页的上下文中正确解析。

这段话的意思是asp.net  会把母版页服务器控件url解析为相对于页面的路径


下面是asp.net3.5揭秘中的一段话:


那这次是msdn说对了,asp.net揭秘说错了?









--------------------编程问答-------------------- 第二个问题,都没有错~
msdn 只说了一种情况 :服务控件的url
asp.net揭秘 说了两种情况:服务控件的url 和 普通html标签的url

我很少用相对路径的~
无论是服务控件或 html 都使用绝对路径 ~统一~

现在用mvc 也很少用服务控件了~ --------------------编程问答-------------------- 使用~确实是统一  只是看到这个  想知道下谁对谁错

msdn 两种情况也都说了   对于普通html 它是这样描述的:

asp.net 揭秘关于html说法是:



我自己测试后  在母版页url解析msdn说法是对的  asp.net关于这两种说法是错的 
--------------------编程问答-------------------- 首先明确一下,服务器控件和用户控件是不一样的。

用户控件有所谓 的url,但是服务器控件是没有url的,只有命名空间和类名。

然后引用路径,最好不用相对路径。相对路径总是会变。比如url重写的时候,重写的url的路径一变,有可能你的相对路径就找不到图片了。 --------------------编程问答--------------------
引用 3 楼 u010793151 的回复:
首先明确一下,服务器控件和用户控件是不一样的。

用户控件有所谓 的url,但是服务器控件是没有url的,只有命名空间和类名。

然后引用路径,最好不用相对路径。相对路径总是会变。比如url重写的时候,重写的url的路径一变,有可能你的相对路径就找不到图片了。


 我这里说的url是指比如Image服务器控件的ImageUrl属性的值

 我只是想知道我的理解是不是对的

  

 




   --------------------编程问答-------------------- 解析用户控件的服务器控件url时


这句话,看不明白是啥意思。

--------------------编程问答-------------------- 总之,服务器端标记是一套标准,
母版页和用户控件要以当前页面为基准查找资源,这是为了支持VS中的可视化设计。

纯HTML标记又是一套标准,这是为了实际运行时,能找到对应的资源。 --------------------编程问答--------------------
引用 5 楼 u010793151 的回复:
解析用户控件的服务器控件url时


这句话,看不明白是啥意思。


用户控件中放一个image服务器控件,然后服务器控件的imageurl属性指向一个路径。这时服务器会对imageurl属性进行解析的(可能用的词不恰当,其实就是处理一下),他有可能会在路径前加一段路径。通过浏览器看页面源码,就可以发现的。 --------------------编程问答--------------------
引用 6 楼 bwangel 的回复:
总之,服务器端标记是一套标准,
母版页和用户控件要以当前页面为基准查找资源,这是为了支持VS中的可视化设计。

纯HTML标记又是一套标准,这是为了实际运行时,能找到对应的资源。


你这个当前页是指aspx页面嘛,如果是那应该不是这样的,用户控件写相对路径是要相对用户控件的。这个我是测试过的. 
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,