4、CRM2011编程实战——将窗体中指定控件的值做处理后更新到另一个字段中

需求:将接报时间加上到期提醒时间后得到的值,更新到字段“到期截止时间”

Js调用:

//设置到期截止时间
    function setDeadLine(){
    var recordId = Xrm.Page.data.entity.getId();
    var entityName = Xrm.Page.data.entity.getEntityName();
    var reportedTime = Xrm.Page.getControl("hxcs_fdatetimeofrequesthelp").getAttribute().getValue().toLocaleString();
    var remindTime =Xrm.Page.getControl("hxcs_fremindtime").getAttribute().getText();
    $.post("/isv/Handlers/SetRemindHandler.ashx", { "recordId":recordId,"entityName":entityName,"reportedTime": reportedTime,"remindTime":remindTime}, function(data){});
}

一般处理程序SetRemindHandler.ashx,代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Microsoft.Xrm.Sdk;
using Microsoft.Xrm.Sdk.Client;
using System.Net;
using System.ServiceModel.Description;
using System.Configuration;

namespace IsWaterWeb
{
    /// <summary>
    /// SetRemindHandler 的摘要说明
    /// </summary>
    public class SetRemindHandler : IHttpHandler
    {
        IOrganizationService _service = null;
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            string recordId=context.Request["recordId"];
            string entityName=context.Request["entityName"];
            string reportedTime = context.Request["reportedTime"]; //接报时间
            string remindTime = context.Request["remindTime"]; //到期提醒时间(h)

            if(!string.IsNullOrEmpty(reportedTime)&&!string.IsNullOrEmpty(remindTime))
            {
                DateTime rTime = Convert.ToDateTime(reportedTime);
                double hourCounts = Convert.ToDouble(remindTime);
                DateTime deadline = rTime.AddHours(hourCounts);

                _service = GetOrganization();
                Entity entity = new Entity();
                entity.Id=Guid.Parse(recordId);
                entity.LogicalName=entityName;
                entity.Attributes["hxcs_fdeadline"] = deadline;
                _service.Update(entity);
            }
        }

        public IOrganizationService GetOrganization()
        {
            String UserName = ConfigurationManager.AppSettings["LoginName"];
            String Password = ConfigurationManager.AppSettings["LoginPwd"];
            string url=ConfigurationManager.AppSettings["organizationServiceUrl"];
            Uri uri = new Uri(url);

            var cred = new ClientCredentials();
            //cred.Windows.ClientCredential = new NetworkCredential("Xiaozhou", "Zhou123.");
            cred.Windows.ClientCredential = new NetworkCredential(UserName, Password);

            OrganizationServiceProxy _proxy = new OrganizationServiceProxy(uri, null, cred, null);
            IOrganizationService _service = (IOrganizationService)_proxy;
            return _service;
        }
        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

注意:记得将一般处理程序SetRemindHandler.ashx放到服务器目录:C:\Program Files\Microsoft Dynamics CRM\CRMWeb\ISV\Handlers,如果没有Handlers目录,可以新建。


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹琼俊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值