RT,web开发页面用什么样的路径比较好,为什么?

解决方案 »

  1.   

    相对路径
    获取绝对路径
    VirtualPathUtility.ToAbsolute("~/");
    HttpRuntime.AppDomainAppVirtualPath;
    Request.ApplicationPath;
    Page.ResolveUrl("~");
      

  2.   

    页面控件不是能直接使用"~/"动态的表示根目录的,而且在webform的页面发开环境下,都是控件里面的地址都是用"~/XXX"表示的,并不是用“../XXX”相对路径方式表示的。
    我是用的asp.net mvc开发的,页面上也是可以直接生成绝对路径的,用<%: Url.content("~/XXX")%>生成绝对路径的,就是开发的时候不如直接用"../XXX"的相对路径能直接在VS里面就能看到效果
      

  3.   

    asp.net既不使用绝对路径也不使用相对路径,绝对或者相对路径是对html开发人员而言的。asp.net网站既可以放在传统意义的网站下(每一个网站有一个唯一的域),也可以放在域下的虚拟目录下,所以asp.net程序主要是使用“~/”开头的路径写法,而不是使用什么绝对或者相对路径。当然,如果你确知aspx放在哪里,也可以用相对路径,可是当你使用用户控件、或者aspx可能移动到其它目录下,那么不能想当然地用什么相对路径,而要用“~/”口头的写法。至于“/”开头的路径,则根本是个asp.net外行。因为asp.net经常放在网站的域之下的某个子目录里,根本不能用这个来寻径。
      

  4.   

    使用相对路径,我们可以判断这个人没有自己开发控件、以组件式的方式来做大项目的经验(大项目需要开发大量自己的控件方便地拼接到最终页面上),全都是做一些简单页面。使用绝对路径,那么就可能是刚用asp.net学点编程了。
      

  5.   


    同意!
    如果有人进一步说他所看到的“好多大站”所谓绝对路径是类似 http://www.sp1234.com/apps/page.aspx 这种路径,那么他大概根本没有看到过后台源代码,也就是根本不知道去看什么。开发一个asp.net应用程序,你不知道将来上传到哪一个目录,所以不可能在程序中连“http://www.sp1234.com/”这个域名都写上。他要是硬说他看到了,十有八九是早就跑偏了。
      

  6.   

    的确,asp.net开发web时现在的"~/"是比较好的,尤其在使用服务器控件的时候,而且这种方式只能用于带有runat="server"的控件。相对路径和绝对路径的问题,其实各有其应用场合。比如使用.master页的时候,如果我们的页面使用了一个.master,最后的产生的页面中的相对路径还是相对于自己而言的,而.master页面中使用的相对路径在该页面中可能会出错(当master页与我们的页面不在同一个目录下的情况下)。这个时候可能需要使用解析出的绝对路径。一个小例子。