将哥通过本文主要向大家介绍了微信开发 asp.net,微信 asp.net,微信支付 asp.net,asp.net,asp net培训等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
    上一篇介绍了如何群发文本消息,本篇将介绍如何群发图文信息,上传图文信息所需的素材,界面如下:

我们先看从素材库中获取图文素材的代码,界面:

素材列表,我是使用的repeater控件,
前台代码如下:
 <!--弹出选择素材窗口-->
  <div id="shownewgroup">
  <div class="closeLogin" style="height:40px; background-color:#ddd9ff; line-height:40px;"><span style="float:left; color:#000; font-size:14px; text-indent:5px;">选择素材</span>
  <span style="float:left;margin-left:20px;"><a href="WxNewTuWen.aspx" style="color:red;" onclick="hrefurl();" class="hrefurl">新建图文素材</a></span>
  <a class="closeloginpage"><img src="images/close1.png" alt="" /></a>  </div>
  
  <div style="height:455px; width:100%;">
  <asp:UpdatePanel ID="UpdatePanel2" runat="server">
   <ContentTemplate>
    <div style="width:100%; height:35px; margin:10px;"><asp:LinkButton ID="LinkBtnSelect" runat="server" OnClick="LinkBtnSelect_Click" ><div style="background-image:url('images/buttonbg.png'); width:111px; height:35px; float:left; line-height:35px; font-weight:bold; text-align:center;color:#fff;">确认选择</div></asp:LinkButton>
    <span style="float:left;margin-left:20px;"><asp:LinkButton ID="LinkbtnRefresh" CssClass="LinkbtnRefresh" runat="server" OnClick="LinkbtnRefresh_Click"><div style="background-image:url('images/buttonbg.png'); width:111px; height:35px; line-height:35px; font-weight:bold; text-align:center;color:#fff;">刷新</div></asp:LinkButton></span>
    <span style="float:left;margin-left:20px;"><asp:LinkButton ID="LinkBtnDelete" CssClass="LinkbtnRefresh" runat="server" OnClick="LinkBtnDelete_Click"><div style="background-image:url('images/buttonbg.png'); width:111px; height:35px; line-height:35px; font-weight:bold; text-align:center;color:#fff;">删除素材</div></asp:LinkButton></span>
    </div>
  <div style="word-wrap:break-word;" id="lbnewssucai" runat="server">
   <asp:Repeater ID="Repeatersucailist" runat="server" OnItemDataBound="Repeatersucailist_ItemDataBound">
   <ItemTemplate>
    <table style="width:100%; border-top:1px solid #edc9df; border-collapse:collapse; font-size:12px;" >
    <tr>
     <td style="width:100px;"><asp:Image ID="ImageUrl" CssClass="fenmianstyle2" runat="server" /></td>
     <td style="text-align:left; width:470px; ">
     <asp:Repeater ID="Repeatersucailist2" runat="server">
      <ItemTemplate>
      <ul style="margin:0px;padding:0px;">
       <li><%# Eval("title") %></li>
      </ul>
      </ItemTemplate>
     </asp:Repeater>
     </td>
     <td style="width:130px;">
     <asp:Label ID="lbUpate_time" runat="server" Text="Label"></asp:Label>
     </td>
     <td style="width:50px; text-align:center;">
     <asp:CheckBox ID="CheckIn" runat="server" />
     <asp:Label ID="lbmedia_id" runat="server" Visible="false" Text=""></asp:Label>
     </td>
    </tr>
    </table>
   </ItemTemplate> 
   </asp:Repeater>
   <div style="font-size:14px; height:30px; line-height:30px; text-indent:10px; border-top:1px solid #ced9df;">
   <span style="float:left;">本类型素材总数量为:</span><span style="float:left; color:red;"><asp:Label ID="lbtotal_count" runat="server" Text="0"></asp:Label></span>  
   <span style="float:left; margin-left:20px;">本次获取的素材数量为:</span><span style="float:left; color:red;"><asp:Label ID="lbitem_count" runat="server" Text="0"></asp:Label></span>
   </div>
  </div>
   </ContentTemplate>
  </asp:UpdatePanel>
  </div>
 </div>
 <div id="shownewgroupzhezhaoceng"></div>
</div>
后台代码如下:
 /// <summary>
 /// 绑定图文素材列表
 /// </summary>
 private void BindNewsSucaiList()
 {
  WeiXinServer wxs = new WeiXinServer();
  string res = "";
  ///从缓存读取accesstoken
  string Access_token = Cache["Access_token"] as string;
  if (Access_token == null)
  {
  //如果为空,重新获取
  Access_token = wxs.GetAccessToken();
  //设置缓存的数据7000秒后过期
  Cache.Insert("Access_token", Access_token, null, DateTime.Now.AddSeconds(7000), System.Web.Caching.Cache.NoSlidingExpiration);
  }
  string Access_tokento = Access_token.Substring(17, Access_token.Length - 37);
  string posturl = "https://api.weixin.qq.com/cgi-bin/material/batchget_material?access_token=" + Access_tokento;
  //POST数据例子: POST数据例子:{"type":TYPE,"offset":OFFSET,"count":COUNT}
  string postData = "{\"type\":\"news\",\"offset\":\"0\",\"count\":\"20\"}";
  res = wxs.GetPage(posturl, postData);
  //使用前需要引用Newtonsoft.json.dll文件
  JObject jsonObj = JObject.Parse(res);
  int groupsnum = jsonObj["item"].Count();
  List<WxNewsSucaiIteminfo> newssucaiitemlist = new List<WxNewsSucaiIteminfo>();
  List<WxNewsSuCaiItemlistinfo> WxNewsSuCaiItemlist = new List<WxNewsSuCaiItemlistinfo>();
  for (int i = 0; i < groupsnum; i++)
  {
  WxNewsSucaiIteminfo newssucaiitem = new WxNewsSucaiIteminfo();
  newssucaiitem.media_id = jsonObj["item"][i]["media_id"].ToString();
  newssucaiitem.update_time = jsonObj["item"][i]["update_time"].ToString();
  newssucaiitem.total_count = jsonObj["total_count"].ToString();
  newssucaiitem.item_count = jsonObj["item_count"].ToString();
  newssucaiitemlist.Add(newssucaiitem);
  int news_itemcount = jsonObj["item"][i]["content"]["news_item"].Count();
  if (news_itemcount > 0)
  {
   for (int j = 0; j < news_itemcount; j++)
   {
   WxNewsSuCaiItemlistinfo wnscilinfo = new WxNewsSuCaiItemlistinfo();
   wnscilinfo.title = jsonObj["item"][i]["content"]["news_item"][j]["title"].ToString();
   wnscilinfo.thumb_media_id = jsonObj["item"][i]["content"]["news_item"][j]["thumb_media_id"].ToString();
   wnscilinfo.show_cover_pic = int.Parse(jsonObj["item"][i]["content"]["news_item"][j]["show_cover_pic"].ToString());
   wnscilinfo.author = jsonObj["item"][i]["content"]["news_item"][j]["author"].ToString();
   wnscilinfo.digest = jsonObj["item"][i]["content"]["news_item"][j]["digest"].ToString();
   wnscilinfo.content = jsonObj["item"][i]["content"]["news_item"][j]["content"].ToString();
   wnscilinfo.url = jsonObj["item"][i]["content"]["news_item"][j]["url"].ToString();
   wnscilinfo.content_source_url = jsonObj["item"][i]["content"]["news_item"][j]["content_source_url"].ToString();
   wnscilinfo.media_id = newssucaiitem.media_id.ToString();
   WxNewsSuCaiItemlist.Add(wnscilinfo);
   }
  }
  }
  Session["WxNewsSuCaiItemlist"] = WxNewsSuCaiItemlist;
  this.Repeatersucailist.DataSource = newssucaiitemlist;
  this.Repeatersucailist.DataBind();
 }
</div>
再来看看,新建单图文信息界面:

 

