使用.Invoke(" setValue")从Silverlight WebResource设置日期/时间表单字段

时间:2013-01-21 11:00:54

标签: c# silverlight dynamics-crm

我尝试在Silverlight Web资源内部的表单上设置Date字段,但表单字段仍为空:

var xrm = (ScriptObject)HtmlPage.Window.GetProperty("Xrm");
var page = (ScriptObject)xrm.GetProperty("Page");
var startdate = (ScriptObject)page.Invoke("getAttribute", "scheduledstart");
startdate.Invoke("setValue", DateTime.Now.ToUniversalTime().ToString("MM/dd/yyyy"));

虽然上面的代码适用于其他字段类型(string,int,OptionSet等),但我尝试设置日期值的方式似乎有错误。


附注:我不使用dynamic,因为在MS CRM在线环境中部署时似乎不起作用(但在本地工作)。

1 个答案:

答案 0 :(得分:1)

您正在将日期格式化为字符串,因此它正在尝试将字符串传递到Javascript Date字段。只需将其作为DateTime传递即可。 ScriptObject类旨在从.Net正确转换为Javascript。 reference here

startdate.Invoke("setValue", DateTime.Now);