定义的模版内容:

  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. lintcode:接雨水

    接雨水 给出 n 个非负整数,代表一张X轴上每个区域宽度为 1 的海拔图, 计算这个海拔图最多能接住多少(面积)雨水. 如上图所示,海拔分别为 [0,1,0,2,1,0,1,3,2,1,2,1], 返 ...

  2. SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-002-本章的源代码

    0.结构 一.JDBC层 1. package spittr.db; import java.util.List; import spittr.domain.Spitter; /** * Reposi ...

  3. C++:流类库与输入输出

    7.2.1 C++的输入输出流 ios:流基类(抽象类) istream:通用输入流类和其他输入流的基类 ostream:通用输出流类和其他输出类的基类 iostream:通用输入输出流类和其他输入输 ...

  4. MYSQL语句中SELECT语句及其子句的执行顺序

    SELECT语句的执行的逻辑查询处理步骤:(8)SELECT (9)DISTINCT(11)<TOP_specification> <select_list>(1)FROM & ...

  5. YTU 2605: 熟悉题型——自由设计(比较大小-类模板)

    2605: 熟悉题型--自由设计(比较大小-类模板) 时间限制: 1 Sec  内存限制: 128 MB 提交: 125  解决: 107 题目描述 声明一个类模板,利用它分别实现两个整数.浮点数和字 ...

  6. 串口log

    使用windows自带的超级终端: 可从开机log开始保存: -----

  7. Getting Error "Invalid Argument to LOCATOR.CONTROL: ORG_LOCATOR_CONTROL='' in Material Requirements Form (文档 ID 1072379.1)

    APPLIES TO: Oracle Work in Process - Version 11.5.10.2 and later Information in this document applie ...

  8. [HIHO1328]逃离迷宫(bfs,位压)

    题目链接:http://hihocoder.com/problemset/problem/1328 这个题bfs到时候不止要存当前的坐标,还要存当前有哪几把钥匙.因为5把钥匙,所以可以直接用位来存,这 ...

  9. openfire源码分析

    启动流程 Socket接口 Socket通信使用Mina框架实现,是XMPP协议的处理入口,具体为: 消息接收后由不同的节处理器处理: StanzaHandler基础消息类型,之后进行消息路由: 最后 ...

  10. 盒模型padding和margin对滚动条位置的影响

    前置条件:盒模型样式overflow-y:scroll; ①padding-right:15px的效果: padding对于滚动条的位置显然是没有影响的,这也不是我们要的结果(这样很难看!) ②mar ...