定义的模版内容:

  1. {{first.DATA}}
  2. 商品名称:{{product.DATA}}
  3. 商品价格:{{price.DATA}}
  4. 购买时间:{{time.DATA}}
  5. {{remark.DATA}}

代码:

  1. protected void Page_Load(object sender, EventArgs e)
  2. {
  3. //根据appId判断获取
  4. if (!AccessTokenContainer.CheckRegistered(appId))    //检查是否已经注册
  5. {
  6. AccessTokenContainer.Register(appId, appSecret);    //如果没有注册则进行注册
  7. }
  8. string access_token = AccessTokenContainer.GetAccessTokenResult(appId).access_token; //AccessToken
  9. string openId = "xxxxxx";   //用户openId
  10. string templateId = "xxxxxx";   //模版id
  11. string linkUrl = "http://www.baidu.com";    //点击详情后跳转后的链接地址,为空则不跳转
  12. //为模版中的各属性赋值
  13. var templateData = new ProductTemplateData()
  14. {
  15. first = new TemplateDataItem("您好,您的订单已支付成功!", "#000000"),
  16. product = new TemplateDataItem("旺旺大礼包", "#000000"),
  17. price = new TemplateDataItem("99.8元", "#000000"),
  18. time = new TemplateDataItem("2016-11-09 16:50:38", "#000000"),
  19. remark = new TemplateDataItem("感谢您的光临~", "#000000")
  20. };
  21. SendTemplateMessageResult sendResult = TemplateApi.SendTemplateMessage(access_token, openId, templateId, "", linkUrl, templateData);
  22. //发送成功
  23. if (sendResult.errcode.ToString() == "请求成功")
  24. {
  25. //...
  26. }
  27. else
  28. {
  29. Response.Write("出现错误:" + sendResult.errmsg);
  30. }
  31. }
  32. /// <summary>
  33. /// 定义模版中的字段属性(需与微信模版中的一致)
  34. /// </summary>
  35. public class ProductTemplateData
  36. {
  37. public TemplateDataItem first { get; set; }
  38. public TemplateDataItem product { get; set; }
  39. public TemplateDataItem price { get; set; }
  40. public TemplateDataItem time { get; set; }
  41. public TemplateDataItem remark { get; set; }
  42. }

推送效果图:

【模版消息】C#推送微信模版消息(Senparc.Weixin.MP.dll)的更多相关文章

  1. 微信公众平台C# SDK:Senparc.Weixin.MP.dll

    https://github.com/Senparc/WeiXinMPSDK [转] http://www.cnblogs.com/szw/archive/2013/01/13/senparc-wei ...

  2. 【转】微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引

    微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引 Senparc.Weixin.MP SDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到 ...

  3. 微信公众账号 Senparc.Weixin.MP SDK 开发教程

    http://www.cnblogs.com/szw/archive/2013/05/14/weixin-course-index.html 微信公众账号 Senparc.Weixin.MP SDK ...

  4. 微信支付开发-Senparc.Weixin.MP详解

    年底了,反而工作更忙了,我从15年11月开始写<1024伐木累>系列小说和爆笑对白,得到了很多身边的技术好友的支持,现在爆笑对白已经有越来越多的朋友一起帮着写段子,整理,包括小说内容的编辑 ...

  5. 微信公众账号 Senparc.Weixin.MP SDK 开发教程 索引

    Senparc.Weixin.MP SDK从一开始就坚持开源的状态,这个过程中得到了许多朋友的认可和支持. 目前SDK已经达到比较稳定的版本,这个过程中我觉得有必要整理一些思路和经验,和大家一起分享. ...

  6. Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者

    Senparc.Weixin.MP SDK 微信公众平台开发教程(二):成为开发者 这一篇主要讲作为一名使用公众平台接口的开发者,你需要知道的一些东西.其中也涉及到一些微信官方的规定或比较掩蔽的注意点 ...

  7. Senparc.Weixin.MP SDK 微信公众平台开发教程(三):微信公众平台开发验证

    要对接微信公众平台的"开发模式",即对接到自己的网站程序,必须在注册成功之后(见Senparc.Weixin.MP SDK 微信公众平台开发教程(一):微信公众平台注册),等待官方 ...

  8. Senparc.Weixin.MP SDK 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK

    Senparc.Weixin.MP SDK已经涵盖了微信6.x的所有公共API. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:https://github.com/JeffreySu ...

  9. 转载收藏之用 - 微信公众平台开发教程(五):使用Senparc.Weixin.MP SDK

    Senparc.Weixin.MP SDK已经涵盖了微信5.0的所有公共API,以及2013年10月29日升级之后大部分实用的接口. 整个项目的源代码以及已经编译好的程序集可以在这个项目中获取到:ht ...

随机推荐

  1. C# 任意类型数据转JSON格式

    /// <summary> /// List转成json /// </summary> /// <typeparam name="T">< ...

  2. phpeclipse常用快捷键

    phpeclipse常用快捷键

  3. Linux下Boost交叉编译

    http://davidlwq.iteye.com/blog/1580752 运行环境:ubuntu 12.04, boost 1.50.0 由于要把boost移植到arm板上去,所以折腾了一下,后来 ...

  4. 看完这些,你就算得上既了解围棋又了解alphago了

    首先,我们要祝贺小李下出第78手的“神之一手”,这一手堪称前无古人后无来者,尤其是结合了阿尔法狗自暴自弃的表现.小李说过他的失败并不是人类的失败,同样,小李的胜利也只是属于他一人的胜利. 然而人类在围 ...

  5. iOS开发--CoreGraphics简单绘图

    一.导入coreGraphics.framework 二.绘制图形 1.绘制矩形 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 // 绘制矩形 - (v ...

  6. 世界上还有一个东西叫Virtual Pascal

    官网是:http://web.archive.org/web/20060312064321/http://www.vpascal.com/news.php?item.16 不过2005年就不再维护了. ...

  7. RHEL7-使用Apache服务部署静态网站

    1. 安装Apache服务程序 1.1 在虚拟机中选中光盘镜像,并设置连接 1.2 将光盘设备挂载到/media/cdrom目录 [root@localhost ~]# mkdir -p /media ...

  8. sqlite数据库查询批量

    采网页里的网址,网址每天都变化,而数据库里有几千条数据,通过 select count(*) 来查找数据库里有没有该网址,没有的话就采集入库,所 以如果网页当天更新1千条连接,那采集一次就要selec ...

  9. 禁用和启用链接(a元素|LinkButton)的js方法

    4 function disableLink(link) {5     //设置href属性6     link.href = "javascript:void(0);";7    ...

  10. ZOJ Problem Set - 3861 Valid Pattern Lock(dfs)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3861 这道题当时没做出来,后来经过队友提醒才做出来. 3*3的九宫格,给你 ...