asp.netÖеÄResolveUrl ÍêÃÀ½â¾ö·½°¸
¸ù¾ÝÎÒ¸öÈËʹÓÃASP.NETµÄ¾Ñ飬ºÍͨ¹ýÔÚÍøÉÏËÑË÷¡£ÎÒ·¢ÏÖ£¬PageµÄResolveUrl·½·¨¸øÎÒÃÇ´øÀ´ÁËһЩ±È½ÏÑÏÖصÄÎÊÌâ¡£
×î³£¼ûµÄÎÊÌâÊÇÔÚÒ³Ãæ»ò¿Ø¼þÒÔÍâµÄ·¶Î§²»ÄÜʹÓÃËü¡£
ÆäËûµÄÎÊÌⶼÊÇbug¡£ÈçËü²»ÄÜÕýÈ·´¦ÀíһЩÄã¸øµÄURL¡£ÀýÈ磬³¢ÊÔ Page.ResolveUrl("~/test.aspx?param=http://www.test.com")¡£½á¹ûÓëÄãÊäÈë×Ö·û´®Ïàͬ£¬Ã»×öÈκα䶯¡£Ê¹ÓÃReflector²é¿´asp.net´úÂ룬ÎÒ·¢ÏÖ½«Ïà¶ÔURLת»»Îª¾ø¶ÔURL»úÖƶ¼ÊÇÏÈËÑË÷stringÖÐµÄ "://"£¬Èç¹ûÕÒµ½£¬¾ÍÖ±½Ó·µ»ØÁË¡£Òò´Ë£¬Èç¹ûÄã´«µÝÒ»¸ö´ø://µÄ²ÎÊý£¬²éѯ×Ö·û´®¾ÍÊÇOKµÄ¡£ÎÒÃǶ¼ÖªµÀµÄ²éѯ×Ö·û´®²ÎÊýÓ¦½øÐÐurlencode£¬µ«Èç¹ûûÓУ¬ËüÓ¦¸ÃÈÔÈ»ÊÇ¿ÉÒÔ½ÓÊÜURL¡£ÑÏÖصÄÊÇ£¬Òª¼ì²éÄúµÄä¯ÀÀÆ÷¡£
ÍøÉÏ£¬½¨ÒéµÄ·½·¨ÊÇʹÓÃVirtualPathUtility.ToAbsolute£¬Èç¹ûÄãÔÚ´«µÝURL×÷Ϊ²éѯ×Ö·û´®£¬ÕâÊÇÏ൱²»´íºÍ·½±ãµÄ£¬...·ñÔò£¬¾Í»áÒý·¢Òì³£¡£Èç¹ûÊÇÒ»¸ö¾ø¶ÔURL£¬ËüÒ²»áÅ׳öÒì³££¡
ËùÒÔ£¬ÎÒ¾ö¶¨Ñ°ÇóÒ»¸ö×îÖÕ½â¾ö·½°¸¡£
Ê×ÏÈ£¬ÎÒÒªÕÒËÑË÷Ò»¸öºÜºÃµÄ±äÁ¿£¬ËüÄܸøÎÒÃÇÔÚÓ¦ÓóÌÐòÔËÐÐʱµÄÐéÄâ·¾¶£¬²»Ê¹ÓÃÒ³ÃæÉÏÏÂÎÄ¡£
ÎÒʹÓÃÁËHttpRuntime.AppDomainAppVirtualPath¡£ËüÄÜÔÚÈκεط½Ê¹ÓÃ-ÉõÖÁÔÚtimer callbackÖУ¡ËüûÓÐβËæбÏß·¾¶£¬ASP.NET×÷ÁËÌØËØ´¦Àí£¬Ïû³ýб¸Ü£¬²»¹ý£¬ÎÒÃÇÄÜÐÞ¸´Ëü:-)
È»ºó£¬ÎÒʹÓÃÔResolveUrl´úÂë×öÁËһЩ²âÊÔ£¬ÕÒµ½ÔõôÓÃAppVirtualPathÈ¡´ú£º
1¡¢µ±URLÒÔбÏß¿ªÊ¼£¨/»ò\£©£¬Ò²²»»á¸Ä¶¯Ëü£¡
2¡¢µ±URLÒÔ〜/¿ªÊ¼£¬Ëü»á±»AppVirtualPathÈ¡´ú¡£
3¡¢µ±URLÊÇÒ»¸ö¾ø¶ÔURL£¬Ò²²»»á¸Ä±äËü¡£
4¡¢ÔÚÈκÎÆäËûÇé¿öÏ£¨ÉõÖÁÒÔ〜¿ªÊ¼£¬¶ø²»ÊÇб¸Ü£©£¬½«×·¼ÓURLµ½AppVirtualPath¡£
5¡¢Ã¿µ±ËüÐÞ¸ÄURL£¬»¹ÐÞ¸´Ð±¸Ü¡£É¾³ý˫бÏߣ¬ÓÃ/Ìæ»»\¡£
´úÂ룺
´úÂë
public static string ResolveUrl(string relativeUrl)
{
if (relativeUrl == null) throw new ArgumentNullException("relativeUrl");
if (relativeUrl.Length == 0 || relativeUrl[0] == '/' ||
relativeUrl[0] == '\\') return relativeUrl;
&
Ïà¹ØÎĵµ£º
ÔÚWeb±à³Ì¹ý³ÌÖУ¬´æÔÚןܶలȫÒþ»¼¡£±ÈÈçÔÚÒÔÇ°µÄASP°æ±¾ÖУ¬CookieΪ·ÃÎÊÕߺͱà³ÌÕ߶¼ÌṩÁË·½±ã£¬²¢Ã»ÓÐÌṩ¼ÓÃܵŦÄÜ¡£´ò¿ªIEä¯ÀÀÆ÷£¬Ñ¡Ôñ“¹¤¾ß”²Ëµ¥ÀïµÄ“InternetÑ¡Ï¬È»ºóÔÚµ¯³öµÄ¶Ô»°¿òÀïµ¥»÷“ÉèÖÔ°´Å¥£¬Ñ¡Ôñ“²é¿´Îļþ”°´Å¥£¬ÔÚµ¯³öµÄ´°¿ÚÖУ¬¾Í»áÏÔʾӲÅÌÀï ......
1£ºGridView Ìí¼ÓÊôÐÔ£¨ÊÇ·ñɾ³ý£¬Êó±ê¾¹ý±³¾°£©
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
& ......
Õª³Ç°±²ÃǵÄ
ÆäʵҪʵÏÖÕâ¸ö¹¦ÄÜÖ÷Òª»¹ÊÇÒªÓõ½javascript
·½·¨Ò»£º
ÔÚasp.netµÄaspxÀïÃæµÄÔ´´úÂëÖÐ
<input type="button onclick="javascript:window.history.go(-1);"value="·µ»ØÉÏÒ»Ò³">
dzÎö£ºÕâ¸öÊÇÓÃÁËHTML¿Ø¼þ£¬Í¨¹ýÒ»¸öonclickµÄʼþ£¬µ÷ÓÃÁËjavascriptÖеÄÒ»¸ö·½·¨¾Í¿ÉÒÔÁË¡£Õâ¸öÊÇ×î¼òµ¥µÄÁË£¬Ò²Í¬Ñù ......
»·¾³£º
Windows 2008, VS 2008 SP1, Asp.Net Mvc RC1
------------------------------------------------------------------------------
ÉÏÎÄ£ºAsp.Net Mvc: Model Binding »úÖÆ·ÖÎö ÖУ¬ÎÒÃǼòµ¥·ÖÎöÁËAsp.Net MvcÖÐModel BindingµÄ¹ý³Ì£¬·Ç³£´Ö²Ú£¬±¾ÎĽ«Ì½Ë÷ÈçºÎʵÏÖÒ»¸ö×Ô¼ºµÄModelBinder£¬²¢½øÒ»²½Õ¹Ê¾Ç°Îĺ ......
string[] files = Directory.GetDirectories(Server.MapPath("Themes/"));
ÏÈÉùÃ÷ÁËÒ»¸ö×Ö·ûÊý×飬mapPath·½·¨µÃµ½µÄÊÇÒ»¸ö¾ø¶Ô·¾¶¡£
ÒòΪGetFiles·µ»ØµÄÊÇÒ»¸östring[]Êý×飬ËùÒÔÓà filesÀ´½ÓÊÕËü¡£
È»ºóÎÒÃÇÔÚÓÃÒ»¸öforeachÑ»·À´±éÀúÕâ¸öÊý×飬ȡ³öËùÓÐÖµ¡£
foreach (string file in files)
{
Response.W ......