ASP.NET½«WebÕ¾µãϵľø¶Ô·¾¶×ª»»ÎªÐéÄâ·¾¶
ASP.NET½«WebÕ¾µãϵľø¶Ô·¾¶×ª»»ÎªÐéÄâ·¾¶
2009-11-25 10:39
ºÜ¾³£Ê¹Óõ½µÄÒ»¸ö¹¦ÄÜ,µ«ÔÚÔÚÍøÉÏȴһֱûÓÐÕÒµ½Ïà¹ØµÄ½â¾ö·½·¨,½ñÌì½è×ÅÏîÄ¿Ó¦Óõ½µÄ»ú»áдÁËÁ½¸ö½«¾ø¶Ô·¾¶×ª»»ÎªÐéÄâ·¾¶·â×°ºÃµÄ·½·¨
¡¡¡¡½«WebÕ¾µãϵľø¶Ô·¾¶×ª»»ÎªÏà¶ÔÓÚÖ¸¶¨Ò³ÃæµÄÐéÄâ·¾¶
¡¡¡¡/**//// <summary>
¡¡¡¡/// ½«WebÕ¾µãϵľø¶Ô·¾¶×ª»»ÎªÏà¶ÔÓÚÖ¸¶¨Ò³ÃæµÄÐéÄâ·¾¶
¡¡¡¡/// </summary>
¡¡¡¡/// <param name="page">µ±Ç°Ò³ÃæÖ¸Õ룬һ°ãΪthis</param>
¡¡¡¡/// <param name="specifiedPath">¾ø¶Ô·¾¶</param>
¡¡¡¡/// <returns>ÐéÄâ·¾¶, ÐÍÈç: ../../</returns>
¡¡¡¡public static string ConvertSpecifiedPathToRelativePathForPage(Page page, string specifiedPath)
¡¡¡¡{
¡¡¡¡ // ¸ùĿ¼ÐéÄâ·¾¶
¡¡¡¡ string virtualPath = page.Request.ApplicationPath;
¡¡¡¡ // ¸ùĿ¼¾ø¶Ô·¾¶
¡¡¡¡ string pathRooted = HostingEnvironment.MapPath(virtualPath);
¡¡¡¡ // Ò³ÃæÐéÄâ·¾¶
¡¡¡¡ string pageVirtualPath = page.Request.Path;
¡¡¡¡ if (!Path.IsPathRooted(specifiedPath) || specifiedPath.IndexOf(pathRooted) == -1)
¡¡¡¡ {
¡¡¡¡ throw new Exception(string.Format("\"{0}\"ÊÇÐéÄâ·¾¶¶ø²»ÊǾø¶Ô·¾¶!", specifiedPath));
¡¡¡¡ }
¡¡¡¡ // ת»»³ÉÏà¶Ô·¾¶
¡¡¡¡ //(²âÊÔ·¢ÏÖ£¬pathRooted ÔÚ VS2005 ×Ô´øµÄ·þÎñÆ÷¸úÔÚIISϸùĿ¼»òÕßÐéÄâĿ¼ÔËÐÐËƺõ²»Ò»Ñù,
¡¡¡¡ // Óд˵ط½ºóÃæ»á¼Ó"\", ÓÐЩÔò²»»á, Ϊ±£ÏÕÆð¼ûÅжÏÒ»ÏÂ)
¡¡¡¡ if (pathRooted.Substring(pathRooted.Length - 1, 1) == "\\")
¡¡¡¡ {
¡¡¡¡ specifiedPath = specifiedPath.Replace(pathRooted, "/");
¡¡¡¡ }
¡¡¡¡ else
¡¡¡¡ {
¡¡¡¡ specifiedPath = specifiedPath.Replace(pathRooted, "");
¡¡¡¡ }
¡¡¡¡ string relativePath = specifiedPath.Replace("\\", "/");
¡¡¡¡ string[] pageNodes = pageVirtualPath.Split('/');
¡¡¡¡ // ¼õÈ¥×îºóÒ»¸öÒ³ÃæºÍÇ°ÃæÒ»¸ö "" Öµ
¡¡¡¡ int pageNodesCount = pageNodes.Length - 2;
¡¡¡¡ for (int i = 0; i < pageNodesCount; i++)
¡¡¡¡ {
¡¡¡¡ relativePath = "/.." + relativePath;
¡¡¡¡ }
¡¡¡¡ if (pageNodesCount > 0)
¡¡¡¡ {
¡¡¡¡ // Èç¹û´æÔÚ ".." , Ôò°Ñ×îÇ°ÃæµÄ "/" È¥µô
¡¡¡¡ relativePath = relativePath.Substring(1, relativePath.Leng
Ïà¹ØÎĵµ£º
MultiView ºÍ View Web ·þÎñÆ÷¿Ø¼þÓÃ×÷ÆäËû¿Ø¼þºÍ±ê¼ÇµÄÈÝÆ÷£¬²¢ÌṩÁËÒ»ÖÖ¿É·½±ãµØÏÔʾÐÅÏ¢µÄÌæ»»ÊÓͼµÄ·½Ê½¡£
Ò»¡¢·½°¸
¿ÉÒÔʹÓà MultiView ºÍ View ¿Ø¼þÖ´ÐÐÈçÏÂÈÎÎñ£º
·¸ù¾ÝÓû§Ñ¡Ôñ»òÆäËûÌõ¼þÌṩ±¸Ñ¡¿Ø¼þ¼¯¡£ÀýÈ磬Äú¿ÉÄÜÔÊÐíÓû§´ÓÒ»¸öÔ´ (feed) ÁбíÖÐÑ¡Ôñ£¬ÆäÖ ......
Îå¡¢ViewCollection Àà
ViewCollection Àà±íʾһ¸ö¼¯ºÏÈÝÆ÷£¬¸ÃÈÝÆ÷ʹ MultiView ¿Ø¼þ¿ÉÒÔά»¤Æä×ӿؼþÁÐ±í¡£MultiView ¿Ø¼þÖ»ÄÜ°üº¬ View ¿Ø¼þ×÷Ϊ×ӿؼþ¡£
ʹÓà Add ·½·¨¿ÉÒÔ½«Ð嵀 View ¿Ø¼þÌí¼Óµ½ ViewCollection ¼¯ºÏÖеÄÐòºÅË÷ÒýÊý×éĩβ¡£Ê¹Óà AddAt ·½·¨¿ÉÒÔ½«Ð¿ؼþÌí¼Óµ½Ìض¨µ ......
Panel Web ·þÎñÆ÷¿Ø¼þÔÚ ASP.NET ÍøÒ³ÄÚÌṩÁËÒ»ÖÖÈÝÆ÷¿Ø¼þ£¬Äú¿ÉÒÔ½«ËüÓÃ×÷¾²Ì¬Îı¾ºÍÆäËû¿Ø¼þµÄ¸¸¼¶¡£
Ò»¡¢±³¾°
¿ÉÒÔ½« Panel ¿Ø¼þÓÃ×÷ÆäËû¿Ø¼þµÄÈÝÆ÷¡£µ±ÒÔ±à³Ì·½´´½¨ÄÚÈݲ¢ÐèÒªÒ»ÖÖ½«ÄÚÈݲåÈëµ½Ò³Öеķ½·¨Ê±£¬´Ë·½·¨ÓÈΪÊÊÓá£ÒÔϲ¿·ÖÃèÊöÁË¿ÉÒÔʹÓà Panel ¿Ø¼þµÄÆäËû·½· ......
ÎÊÌ⣺µ±Ò»¸öÕýÔÚÖ´ÐÐÖеÄASPXÒ³ÃæÖ´Ðе½Ò»°ëµÄʱºò£¬ä¯ÀÀÆ÷ÖÐÄã¹Ø±ÕÁËÕâ¸öÒ³Ã棬·þÎñÆ÷¶Ë¶ÔÓ¦µÄÕâ¸öÒ³ÃæµÄ´úÂëÈÔÈ»ÔÚÖ´ÐÐô£¿
´ð°¸£º³ý·ÇÄã´úÂëÀïÃæ×öÁËÌØÊâÅжϣ¬·ñÔòÈÔÈ»ÕýÔÚÖ´ÐС£
×¢Òâµã£º
1¡¢¿Í»§¶ËÏÔʾҳÃæµÄʱºò£¬ºǫ́ÒѾִÐÐÍêÁ˵ÄÒ³Ãæ¶ÔÏóÔçÒѾ²»´æÔÚÁË¡£µ±È»Õâʱºò̸²»ÉÏ·þÎñÆ÷¶ÎÖ´Ðв»Ö´ÐеÄÎÊÌâÁË¡£
2¡¢ ......
Äú¿ÉÒÔʹÓà Xml Web ·þÎñÆ÷¿Ø¼þÀ´ÏÔʾ XML ÎĵµµÄÄÚÈÝ£¬ÇÒ²»ÐèÒª½øÐиñʽ»¯»òʹÓà XSL ת»»¡£
Ò»¡¢·½°¸
Xml Web ·þÎñÆ÷¿Ø¼þ¶ÁÈ¡ XML ²¢½«ÆäдÈë¸Ã¿Ø¼þËùÔÚµÄ ASP.NET ÍøÒ³¡£Èç¹û½« XSL ת»» (XSLT) Ó¦Óõ½ XML£¬Ôò×îÖÕת»»µÄÊä³ö½«³ÊÏÖÔÚ¸ÃÒ³ÖС£
¶þ¡¢±³¾°
Äú¿ÉÒÔʹÓà XML Web ·þÎñÆ÷¿Ø¼þ½« XML Îĵµ ......