Respondida Encode DateTime to url param

  • 17. července 2011 10:15
     
     

    Hello,

    How encode my DateTime variable to url

     

Všechny reakce

  • 17. července 2011 10:33
     
     

    DD,

    muzete treba prevest promennou do stringu a ten ulozit do URL. Zalezi na tom co ma byt vysledkem?

     


    JCH
  • 17. července 2011 10:49
     
      Obsahuje kód

     

     

    přesně tak to dělám -uložim´to stringu a vložim do url

    Response.Redirect(string.Format("Administration/Operace.aspx?tech={0}&od={1}",DropDownList1.SelectedValue,Od.ToString("dd.MM.yyyy HH:mm")));
    
    

    výsledkem je

    http://localhost:6626/Administration/Operace.aspx?tech=131&od=17.07.2011%2012:30
    

    a teď ten "od" datum chci dát do stránky o úroveň výše a to napíše file not found

    slouží k tomu tento kod

    Response.Redirect(string.Format("~/New.aspx?tech={0}&operace={1}&od={2}", Request.QueryString["tech"], "Popis", Request.QueryString["od"])); 
    

     

    výsledná url (404 error)

    http://localhost:6626/Administration/~/New.aspx?tech=131&operace=Popis&od=17.07.2011%2012:30
    

     

  • 17. července 2011 11:30
     
     Navržená odpověď Obsahuje kód

    DD,

    osobne bych parametry strance nepredaval pres funkci GET (jak to delate vy) ale pres funkci POST.

     

    Kdyz uz to ale delate takto, odstranil bych znaky mezera, tecka a dvojtecka a nechal jen cislice. Treba takto &od=201107171230.

     

    To ale asi neni duvod proc vam to pise chybu. Zkuste si to predat testovaci strance na niz budou jen vypsane prijate parametry:

     

    tech=...
    
    operace=...
    
    od=...

     

     

    Podle me je chyba uplne nekde jinde nez ji hledate. 404 je chyba weboveho serveru zobrazena pri neexistenci volane stranky. S parametry volani by to nemelo mit zadnou souvislost.

     

    Existuje skript New.aspx v ceste Administration/~/ ?

    Patri tam ten znak ~ ? Pokud ano co ma reprezentovat? (skutecny adresar to asi nebude)


    JCH

  • 18. července 2011 8:40
     
     Odpovědět Obsahuje kód
     DateTime dt = DateTime.Parse(Request.QueryString["od"]);
          Response.Redirect(string.Format("~/New.aspx?tech={0}&operace={1}&&od={2}",Request.QueryString["tech"], HttpUtility.UrlEncode(dt.ToString(Core.czech_DT_Format))));
    

    this  resolve it!
    • Označen jako odpověď Mlsoun 18. července 2011 8:40
    •  
  • 18. července 2011 8:59
     
     

    To jsou ty tecky.

    Radeji bych udelal svoje predavani formatu data a casu nezavisleho na OS!!!!

    Nechapu ale proc to hlasilo chybu 404


    JCH
  • 18. července 2011 23:31
    Moderátor
     
     
    Docela dobrou serializací DateTime pro QueryString je myDateTime.Ticks.
    Robert Haken, Microsoft MVP ASP/ASP.NET, HAVIT, s.r.o., www.havit.cz, http://knowledge-base.havit.cz
  • 21. července 2011 10:15
     
      Obsahuje kód

    máte pravdu

     DateTime dt = DateTime.Parse("25.5.1988 11:11");
          string queryDatum = dt.Ticks.ToString();
    
          DateTime newDT = new DateTime(long.Parse(queryDatum));