Thank you.
But this still does not solve my initial problem with passing DateTime to server. I still get that exception even when use your conversions. I think it could be due to different culture on server. But now I don't know how to set culture for Controls.InputDatepicker? -Or any other formlet control.
Thanks again.
But this still does not solve my initial problem with passing DateTime to server. I still get that exception even when use your conversions. I think it could be due to different culture on server. But now I don't know how to set culture for Controls.InputDatepicker? -Or any other formlet control.
Thanks again.
Ok, the exception (above) is not caused exactly by passed DateTime value, but try this:
After calling TestRpc I am getting that exception in response. It is strange, perhaps bug.
[<Rpc>] let TestRpc (s:string) (dt1:DateTime) (dt2:DateTime) (a:int)= "ok" [<JavaScript>] let TestClient () = let test = TestRpc "s" DateTime.Today DateTime.Today 42 test
After calling TestRpc I am getting that exception in response. It is strange, perhaps bug.
Well, it is all right now! I had 2.4.38 and upgraded to this week beta realese now and it is good. Could you advise me with formlet culture configuration yet please? ;)
Thank you
Thank you
What exactly do you expect to happen by configuring the culture? I don't quite see what the client's culture would have to do with Loic's conversion functions.
With Loic's functions it has nothing common. It is for new top question perhaps. I simply want to change culture in my Controls.InputDatepicker.
AFAIK there is no concept of culture in JavaScript/WebSharper. You will have to roll your own.
I was thinking about something like this:
[link:docs.jquery.com]
-setting property $.datepicker.regional is probably possible, but how to plugged it to formlet Controls.InputDatepicker?
[link:docs.jquery.com]
-setting property $.datepicker.regional is probably possible, but how to plugged it to formlet Controls.InputDatepicker?
There is no DatePicker in formlets. Which extension are you using?
Exactly this: IntelliFactory.WebSharper.Formlet.JQueryUI.Controls.InputDatepicker
I checked localization options for JQuery UI calendar. The reference is:
[link:jqueryui.com] (Localization section)
The quick and dirty way of enabling JQuery UI localization for your formlets is to explicitly include the localization file, for example by adding this line to your template file:
At a first glance there does not appear to be a more elegant or a better way of integrating this into WebSharper, but we will have a look at it.
[link:jqueryui.com] (Localization section)
The quick and dirty way of enabling JQuery UI localization for your formlets is to explicitly include the localization file, for example by adding this line to your template file:
<meta name="generator" content="websharper" data-replace="scripts" />
<script type="text/javascript" src="http://jquery-ui.googlecode.com/svn/trunk/ui/i18n/jquery.ui.datepicker-cs.js"></script>
At a first glance there does not appear to be a more elegant or a better way of integrating this into WebSharper, but we will have a look at it.
Hi, unfortunately your code seems to work for me just fine. Could you get the exception trace or send us a zip with the complete solution? Are you using the latest WebSharper? Thanks! --A
(Edited) To put it in a different way: you can't use
So in general, to work with dates and times, you can use
System.DateTime instances without restrictions on the client ATM (technically, because there is no WebSharper proxy for them that provides a full implementation, at least not right now). This is largely due to the fact that System.DateTime is hard to support faithfully (e.g. with the same logic, including cultures, formats, etc.) on different clients.So in general, to work with dates and times, you can use
EcmaScript.Date on the client and System.DateTime on the server, and apply the conversion functions Loic showed above.There is indeed no server-side mapping for the
Conversion functions between .NET and EcmaScript dates are something we intend to provide in a future version of WebSharper, either as extension methods on
In the meantime, here is the (client-side) code I use in applications we develop:
EcmaScript.Date class, so as you guessed, you need to convert to a System.DateTime which has a client-side proxy.Conversion functions between .NET and EcmaScript dates are something we intend to provide in a future version of WebSharper, either as extension methods on
System.DateTime or in another way.In the meantime, here is the (client-side) code I use in applications we develop:
module Date =
/// Convert a .NET date object to a JavaScript standard date object.
[<JavaScript>]
let toEcma (d: System.DateTime) =
EcmaScript.Date(
// January is 1 on .NET and 0 in JavaScript, hence `.Month - 1`
d.Year, d.Month - 1, d.Day,
d.Hour, d.Minute, d.Second, d.Millisecond)
/// Convert a JavaScript standard date object to a .NET date object.
[<JavaScript>]
let ofEcma (d: EcmaScript.Date) =
System.DateTime(
// January is 1 on .NET and 0 in JavaScript, hence `.Month + 1`
d.GetFullYear(), d.GetMonth() + 1, d.GetDay(),
d.GetHours(), d.GetMinutes(), d.GetSeconds(), d.GetMilliseconds())
In ofEcma should be d.GetDate() instead of d.GetDay().
Topic tags
- f# × 3660
- compiler × 263
- functional × 199
- c# × 119
- websharper × 114
- classes × 96
- web × 94
- book × 84
- .net × 82
- async × 72
- parallel × 43
- server × 43
- parsing × 41
- testing × 41
- asynchronous × 30
- monad × 28
- ocaml × 26
- tutorial × 26
- haskell × 25
- workflows × 22
- html × 21
- linq × 21
- introduction × 19
- silverlight × 19
- wpf × 19
- fpish × 18
- collections × 14
- pipeline × 14
- templates × 12
- monads × 11
- opinion × 10
- reactive × 10
- plugin × 9
- scheme × 9
- sitelets × 9
- solid × 9
- basics × 8
- concurrent × 8
- deployment × 8
- how-to × 8
- python × 8
- complexity × 7
- javascript × 6
- jquery × 6
- lisp × 6
- real-world × 6
- workshop × 6
- xaml × 6
- conference × 5
- dsl × 5
- java × 5
- metaprogramming × 5
- ml × 5
- scala × 5
- visual studio × 5
- formlets × 4
- fsi × 4
- lift × 4
- sql × 4
- teaching × 4
- alt.net × 3
- aml × 3
- enhancement × 3
- list × 3
- reflection × 3
- blog × 2
- compilation × 2
- computation expressions × 2
- corporate × 2
- courses × 2
- cufp × 2
- enterprise × 2
- entity framework × 2
- erlang × 2
- events × 2
- f# interactive × 2
- fsc × 2
- google maps × 2
- html5 × 2
- http × 2
- interactive × 2
- interface × 2
- iphone × 2
- iteratee × 2
- jobs × 2
- keynote × 2
- mvc × 2
- numeric × 2
- obfuscation × 2
- oop × 2
- packaging × 2
- pattern matching × 2
- pipelines × 2
- rx × 2
- script × 2
- seq × 2
- sockets × 2
- stm × 2
- tcp × 2
- trie × 2
- type × 2
- type provider × 2
- xna × 2
- zh × 2
- .net interop × 1
- 2012 × 1
- abstract class × 1
- accumulator × 1
- active pattern × 1
- addin × 1
- agents × 1
- agile × 1
- android × 1
- anonymous object × 1
- appcelerator × 1
- architecture × 1
- array × 1
- arrays × 1
- asp.net 4.5 × 1
- asp.net mvc × 1
- asp.net mvc 4 × 1
- asp.net web api × 1
- aspnet × 1
- ast × 1
- b-tree × 1
- bistro × 1
- bug × 1
- camtasia studio × 1
- canvas × 1
- class × 1
- client × 1
- clojure × 1
- closures × 1
- cloud × 1
- cms × 1
- coding diacritics × 1
- color highlighting × 1
- combinator × 1
- confirm × 1
- constructor × 1
- continuation-passing style × 1
- coords × 1
- coursera × 1
- csla × 1
- css × 1
- data × 1
- database × 1
- declarative × 1
- delete × 1
- dhtmlx × 1
- discriminated union × 1
- distance × 1
- docs × 1
- documentation × 1
- dol × 1
- domain × 1
- du × 1
- duf-101 × 1
- eclipse × 1
- edsl × 1
- em algorithm × 1
- emacs × 1
- emotion × 1
- error × 1
- etw × 1
- euclidean × 1
- event × 1
- example × 1
- ext js × 1
- extension methods × 1
- extra × 1
- facet pattern × 1
- fantomas × 1
- fear × 1
- float × 1
- fp × 1
- frank × 1
- fsdoc × 1
- fsharp.core × 1
- fsharp.powerpack × 1
- fsharpx × 1
- function × 1
- functional style × 1
- gc × 1
- generic × 1
- geometry × 1
- getlastwin32error × 1
- google × 1
- group × 1
- hash × 1
- history × 1
- hosting × 1
- httpcontext × 1
- https × 1
- hubfs × 1
- ie 8 × 1
- if-doc × 1
- inheritance × 1
- installer × 1
- interpreter × 1
- io × 1
- ios × 1
- ipad × 1
- kendo × 1
- learning × 1
- licensing × 1
- macro × 1
- macros × 1
- maps × 1
- markup × 1
- marshal × 1
- math × 1
- metro style × 1
- micro orm × 1
- minimum-requirements × 1
- multidimensional × 1
- multithreading × 1
- mysql × 1
- mysqlclient × 1
- nancy × 1
- nested × 1
- nested loops × 1
- node × 1
- object relation mapper × 1
- object-oriented × 1
- offline × 1
- option × 1
- orm × 1
- osx × 1
- owin × 1
- paper × 1
- parameter × 1
- performance × 1
- persistent data structure × 1
- phonegap × 1
- pola × 1
- powerpack × 1
- prefix tree × 1
- principle of least authority × 1
- programming × 1
- projekt_feladat × 1
- protected × 1
- provider × 1
- ptvs × 1
- quant × 1
- quotations × 1
- range × 1
- raphael × 1
- razor × 1
- rc × 1
- real-time × 1
- reference × 1
- restful × 1
- round table × 1
- runtime × 1
- scriptcs × 1
- scripting × 1
- service × 1
- session-state × 1
- sitelet × 1
- stickynotes × 1
- stress × 1
- strong name × 1
- structures × 1
- tdd × 1
- template × 1
- tracing × 1
- tsunamiide × 1
- type inference × 1
- type providers × 1
- upload × 1
- vb × 1
- vb.net × 1
- vector × 1
- visual f# × 1
- visual studio 11 × 1
- visual studio shell × 1
- visualstudio × 1
- web api × 1
- webapi × 1
- windows 8 × 1
- windows-phone × 1
- winrt × 1
- xml × 1
|
Copyright (c) 2011-2012 IntelliFactory. All rights reserved. Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us |
Built with WebSharper |
I have trouble calling Rpc function with DateTime parameter. I get this in runtime (from server response):
Exception of type 'IntelliFactory.WebSharper.Core.Remoting+InvalidArgumentsException' was thrown.How to deal with Date types? What Date type to pass to server,
DateTimeorEcmaScript.Datewhen it is returned from controls likeControls.InputDatepicker? Are there any conversion functions?Thanks