标签:style blog http java 使用 os 文件 io
需求:设置窗体中某个控件的值为服务器时间。
解决方案:通过一个一般处理程序获取服务器时间,然后通过ajax形式获取到此服务器时间并赋值给界面控件。
1、新建一个一般处理程序GetSererTimeHandler.ashx,
代码如下:
<%@ WebHandler Language="C#" Class="GetSererTimeHandler" %> using System; using System.Web; namespace IsWaterWeb { public class GetSererTimeHandler : IHttpHandler { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string action = context.Request["action"]; if (action == "GetTime") { string date = DateTime.Now.ToString(); context.Response.Write(date); } } public bool IsReusable { get { return false; } } } }
Js调用代码如下:
// get server time function getServerTime() { if (Xrm.Page.ui.getFormType() == 1) { $.post("/isv/Handlers/GetSererTimeHandler.ashx", { "action": "GetTime" }, changeShowTime); } } //new Date("2009/02/03 11:12:13") var changeShowTime = function (data) { Xrm.Page.getControl("hxcs_fdatetimeofrequesthelp").getAttribute().setValue(new Date(data)); //将服务器时间赋值给窗体控件显示 };
注意:由于这里使用到了jquery代码,所以在资源文件中,要先引入jquery.js库。如下:
备注:如果你是在应用程序中新建的一般处理程序,那么你build应用程序后,将bin中的dll以及GetSererTimeHandler.ashx文件一同拷贝到CRM服务器上面去。我这里的应用程序名称是IsWaterWeb,对应生成的dll是IsWaterWeb.dll,将dll一同拷贝到CRM服务器上面的指定文件夹下,如:C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\bin。如果没有bin目录,就新建一个。一般处理程序就拷贝到如下目录:
如果是在web网站中新建的一般处理程序,那么你可以直接把GetSererTimeHandler.ashx,和GetSererTimeHandler.ashx.cs一起拷贝到如上目录。
2、CRM2011编程实战——设置窗体某一项的值为服务器时间,布布扣,bubuko.com
2、CRM2011编程实战——设置窗体某一项的值为服务器时间
标签:style blog http java 使用 os 文件 io
原文地址:http://blog.csdn.net/zouyujie1127/article/details/38272167