亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET中微信公眾號用戶分組管理的代碼分析

發布時間:2021-09-16 15:12:44 來源:億速云 閱讀:149 作者:柒染 欄目:開發技術

今天就跟大家聊聊有關.NET中微信公眾號用戶分組管理的代碼分析,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

Model層實體類:

 public class UserList
  {
    public string total { get; set; }
    public string count { get; set; }
    public userlistopenid data { get; set; }
    public string next_openid { get; set; }
  }
  public class userlistopenid
  {
    public List<string> openid { get; set; }
  }
 public class WxGroupsInfo
  {
    public string Group_ID { get; set; }//分組編號
    public string Group_Name { get; set; }//分組名稱
    public string Group_Count { get; set; }//分組人數
  }

WX.aspx內容:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WX.aspx.cs" Inherits="test.WX" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <style type="text/css">
      .inputstyle {
        height: 35px;
        line-height: 35px;
        text-indent: 5px;
        width: 350px;
        background-image: url('images/inputbg.gif');
        background-repeat: repeat-x;
        border-top: solid 1px #a7b5bc;
        border-left: solid 1px #a7b5bc;
        border-right: solid 1px #ced9df;
        border-bottom: solid 1px #ced9df;
        margin: 15px auto 15px auto;
      }


      .g_title {
        width: 100%;
        border-bottom: 2px solid #ced9df;
        font-size: 20px;
        font-weight: bold;
        text-align: left;
        text-indent: 5px;
        height: 40px;
        line-height: 40px;
      }

      th {
        height: 35px;
        background-color: #31bb34;
        background-repeat: repeat-x;
      }

      tr { height: 30px; }

      #shownewgroup {
        width: 300px;
        height: 200px;
        background-color: white;
        z-index: 9999;
        border: 2px solid #DDD;
        top: 40%;
        left: 40%;
        background-color: #fff;
        position: fixed;
        margin: -100px auto auto -100px;
        display: none;
      }

      #shownewgroupzhezhaoceng {
        height: 200%;
        width: 200%;
        left: 0px;
        top: 0px;
        position: fixed;
        z-index: 9998;
        background: rgb(50, 50, 50);
        background: rgba(0, 0, 0, 0.5);
        display: none;
      }

      .closeLogin {
        height: 30px;
        border-bottom: 2px solid #31bb34;
        text-align: right;
        line-height: 30px;
        font-size: 14px;
        font-weight: bold;
      }

      a:hover { cursor: pointer; }

      .inputstyle22 {
        height: 35px;
        line-height: 35px;
        text-indent: 5px;
        width: 280px;
        background-image: url('images/inputbg.gif');
        background-repeat: repeat-x;
        border-top: solid 1px #a7b5bc;
        border-left: solid 1px #a7b5bc;
        border-right: solid 1px #ced9df;
        border-bottom: solid 1px #ced9df;
        float: left;
        margin: auto 5px auto 5px;
      }


    </style>

    <style type="text/css">

      .button {
        font: 15px Calibri, Arial, sans-serif; 
        text-shadow: 1px 1px 0 rgba(255, 255, 255, 0.4);

        text-decoration: none !important;
        white-space: nowrap;

        display: inline-block;
        vertical-align: baseline;
        position: relative;
        cursor: pointer;
        padding: 4px 20px;

        background-repeat: no-repeat; 
        background-position: bottom left;
        background-image: url('button_bg.png');

        background-position: bottom left, top right, 0 0, 0 0;
        background-clip: border-box;

        -moz-border-radius: 8px;
        -webkit-border-radius: 8px;
        border-radius: 8px;

        -moz-box-shadow: 0 0 1px #fff inset;
        -webkit-box-shadow: 0 0 1px #fff inset;
        box-shadow: 0 0 1px #fff inset;

        -webkit-transition: background-position 1s;
        -moz-transition: background-position 1s;
        transition: background-position 1s;
      }


      .blue.button {
        color: #0f4b6d !important;

        border: 1px solid #84acc3 !important;

        background-color: #48b5f2;

        background-image: url('button_bg.png'), url('button_bg.png'),
                 -moz-radial-gradient(center bottom, circle,
                            rgba(89, 208, 244, 1) 0, rgba(89, 208, 244, 0) 100px),
                 -moz-linear-gradient(#4fbbf7, #3faeeb);

        background-image: url('button_bg.png'), url('button_bg.png'),
                 -webkit-gradient(radial, 50% 100%, 0, 50% 100%, 100,
                          from(rgba(89, 208, 244, 1)), to(rgba(89, 208, 244, 0))),
                 -webkit-gradient(linear, 0% 0%, 0% 100%, from(#4fbbf7), to(#3faeeb));
      }

      .blue.button:hover {
        background-color: #63c7fe;

        background-image: url('button_bg.png'), url('button_bg.png'),
                 -moz-radial-gradient(center bottom, circle,
                            rgba(109, 217, 250, 1) 0, rgba(109, 217, 250, 0) 100px),
                 -moz-linear-gradient(#63c7fe, #58bef7);

        background-image: url('button_bg.png'), url('button_bg.png'),
                 -webkit-gradient(radial, 50% 100%, 0, 50% 100%, 100,
                          from(rgba(109, 217, 250, 1)), to(rgba(109, 217, 250, 0))),
                 -webkit-gradient(linear, 0% 0%, 0% 100%, from(#63c7fe), to(#58bef7));
      }


    </style>
    <script src="js/jquery-1.11.2.min.js"></script>
    <script type="text/javascript">

      //修改分組名稱調用的函數
      function EditRoster(PayNo, name) {

        //alert(PayNo+":"+name);
        var url = 'Edit.aspx?id=' + PayNo + "&name=" + name; //轉向網頁的地址; 
        var name = 'add'; //網頁名稱,可為空; 
        var iWidth = 600; //彈出窗口的寬度; 
        var iHeight = 300; //彈出窗口的高度; 
        //獲得窗口的垂直位置 
        var iTop = (window.screen.availHeight - 30 - iHeight) / 2;
        //獲得窗口的水平位置 
        var iLeft = (window.screen.availWidth - 10 - iWidth) / 2;
        window.open(url, name, 'height=' + iHeight + ',innerHeight=' + iHeight + ',width=' + iWidth + ',innerWidth=' + iWidth + ',top=' + iTop + ',left=' + iLeft + ',status=no,toolbar=no,menubar=no,location=no,resizable=no,scrollbars=0,titlebar=no');
      }

      $(document).ready(function() {

        $(".newGroups").click(function() {
            $("#shownewgroupzhezhaoceng").show();
            $("#shownewgroup").show();
          }),
          $('.closeloginpage').click(function() {
            $("#shownewgroupzhezhaoceng").hide();
            $("#shownewgroup").hide();
          });
      });
    </script>
  </head>
  <body>
    <form id="form1" runat="server">
      <div class="g_title">分組管理</div>
      <div id="shownewgroup">
        <div class="closeLogin">
          <span >新建分組</span>
          <a class="closeloginpage button blue ">
            關閉
          </a>
        </div>
        <div >
          30字符以內

        </div>
        <input type="text" id="txtgroupsName" name="txtgroupsName" class="inputstyle22" maxlength="30" runat="server" value="分組名稱" onfocus="if(value==defaultValue){value='';this.style.color='#000'}" onblur="if(!value){value=defaultValue;this.style.color='#999'}" />
        <asp:LinkButton ID="LinkBtnCreateGroup" runat="server" OnClick="LinkBtnCreateGroup_Click">
          <div >
            確定創建
          </div>

        </asp:LinkButton>
      </div>
      <div id="shownewgroupzhezhaoceng"></div>
      <table >
        <asp:Repeater ID="RepeaterGroupList" runat="server" OnItemCommand="RepeaterGroupList_ItemCommand" OnItemDataBound="RepeaterGroupList_ItemDataBound">
          <HeaderTemplate>
            <tr>
              <th>序號</th>
              <th>ID編號</th>
              <th>分組名稱</th>
              <th>分組人數</th>
              <th>操作</th>
            </tr>
          </HeaderTemplate>
          <ItemTemplate>
            <tr style='background-color: <%#(Container.ItemIndex%2 == 0) ? "#fff" : "#ced9ff" %>'>
              <td><asp:Label ID="lbXuHao" runat="server" Text=""></asp:Label></td>
              <td><%# Eval("Group_ID") %></td>
              <td><%# Eval("Group_Name") %></td>
              <td><%# Eval("Group_Count") %></td>
              <td>
                <a class="button blue" onclick=" EditRoster('<%# Eval("Group_ID") %>', '<%# Eval("Group_Name") %>'); ">修改分組名稱</a>
                <asp:LinkButton ID="LinkBtnDeleteGroup" runat="server" CommandName="DeleteGroups" CommandArgument='<%# Eval("Group_ID") %>' CssClass="button blue">刪除分組</asp:LinkButton>

                <asp:LinkButton ID="LinkBtnSendByGroup" runat="server" CommandName="SendByGroups" CommandArgument='<%# Eval("Group_ID") %>' CssClass="button blue">此分組消息群發</asp:LinkButton>

                <asp:LinkButton ID="LinkBtnMoveUserToGroup" runat="server" CommandName="MoveUserToGroup" CommandArgument='<%# Eval("Group_ID") %>' CssClass="button blue">移動分組</asp:LinkButton>
              </td>
            </tr>
          </ItemTemplate>
        </asp:Repeater>
      </table>
      <a class="newGroups"><div >&nbsp;┼&nbsp;新建分組</div></a>
    </form>
  </body>
</html>

WX.aspx.cs代碼:

public partial class WX : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      BindGroupList();
      this.DataBind();
    }


    private void BindGroupList()
    {
      WeiXinServer wxs = new WeiXinServer();

      //從緩存讀取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 jsonres = "";

      string content = Cache["AllGroups_content"] as string;

      if (content == null)
      {
        jsonres = "https://api.weixin.qq.com/cgi-bin/groups/get?access_token=" + Access_tokento;

        HttpWebRequest myRequest = (HttpWebRequest) WebRequest.Create(jsonres);
        myRequest.Method = "GET";
        HttpWebResponse myResponse = (HttpWebResponse) myRequest.GetResponse();
        StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
        content = reader.ReadToEnd();
        reader.Close();

        //設置緩存的數據7000秒后過期
        Cache.Insert("AllGroups_content", content, null, DateTime.Now.AddSeconds(7000),
          System.Web.Caching.Cache.NoSlidingExpiration);
      }

      //使用前需要引用Newtonsoft.json文件
      JObject jsonObj = JObject.Parse(content);


      int groupsnum = jsonObj["groups"].Count();


      List<WxGroupsInfo> wxgrouplist = new List<WxGroupsInfo>();

      for (int i = 0; i < groupsnum; i++)
      {
        WxGroupsInfo wginfo = new WxGroupsInfo();

        wginfo.Group_ID = jsonObj["groups"][i]["id"].ToString();

        wginfo.Group_Name = jsonObj["groups"][i]["name"].ToString();

        wginfo.Group_Count = jsonObj["groups"][i]["count"].ToString();

        wxgrouplist.Add(wginfo);
      }

      this.RepeaterGroupList.DataSource = wxgrouplist;
      this.RepeaterGroupList.DataBind();
    }


    /// <summary>
    /// 綁定事件
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void RepeaterGroupList_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
      if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
      {
        Label lbXuHao = e.Item.FindControl("lbXuHao") as Label;

        int num = 1;

        lbXuHao.Text = num.ToString();

        for (int i = 0; i < this.RepeaterGroupList.Items.Count; i++)
        {
          num += 1;
          lbXuHao.Text = num.ToString();
        }


        LinkButton LinkBtnDeleteGroup = e.Item.FindControl("LinkBtnDeleteGroup") as LinkButton;
        LinkButton LinkBtnSendByGroup = e.Item.FindControl("LinkBtnSendByGroup") as LinkButton;

        LinkBtnDeleteGroup.Attributes.Add("OnClick", "return confirm('您確定要刪除該分組?刪除后該分組內的人員即將恢復到默認分組!')");
        LinkBtnDeleteGroup.Attributes.Add("OnClick", "return confirm('您確定要群發消息到該分組?')");
      }
    }

    /// <summary>
    /// 執行事件
    /// </summary>
    /// <param name="source"></param>
    /// <param name="e"></param>
    protected void RepeaterGroupList_ItemCommand(object source, RepeaterCommandEventArgs e)
    { 
      if (e.CommandName == "DeleteGroups")
      {
        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/groups/delete?access_token=" + Access_tokento;


        //POST數據例子: POST數據例子:{"group":{"id":108}}

        string groupid = e.CommandArgument.ToString();

        string postData = "{\"group\":{\"id\":\"" + groupid + "\"}}";

        res = wxs.GetPage(posturl, postData);

        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "",
          "alert('刪除成功!由于緩存問題,您可能需要重新登錄才能看到效果!');location='WxGroupManageList.aspx';", true);
      }

      if (e.CommandName == "SendByGroups")
      {
        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/message/mass/sendall?access_token=" + Access_tokento;

        string groupid = e.CommandArgument.ToString();

        //string postData = "{\"group\":{\"id\":\"" + groupid.ToString() + "\"}}";

        JObject postData = new JObject();
                JObject filter = new JObject();
                filter.Add("is_to_all", false);
                filter.Add("group_id", groupid);

                JObject text = new JObject();
                text.Add("content", "測試內容!");

                postData.Add("filter", filter);
                postData.Add("text", text);
                postData.Add("msgtype", "text"); 

        res = wxs.GetPage(posturl, postData.ToString());

        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "",
          "alert('群發成功!由于緩存問題,您可能需要重新登錄才能看到效果!');location='WxGroupManageList.aspx';", true);
      }

      if (e.CommandName == "MoveUserToGroup")
      {
        WeiXinServer wxs = new WeiXinServer();
        string res = "";
        string Access_token = Cache["Access_token"] as string;

        if (Access_token == null)
        {
          Access_token = wxs.GetAccessToken();
          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/groups/members/update?access_token=" + Access_tokento;

        string UserListurl = "https://api.weixin.qq.com/cgi-bin/user/get?access_token=" + Access_tokento + "&next_openid=";


        //{"total":2,"count":2,"data":{"openid":["","OPENID1","OPENID2"]},"next_openid":"NEXT_OPENID"}
        res = wxs.GetPage(UserListurl,"");
        UserList userList= JsonConvert.DeserializeObject<UserList>(res);
        String openid=userList.data.openid.FirstOrDefault();
        int togroup_id = 101;//輸入分組ID
        string postData = "{\"openid\":\"" + openid + "\",\"to_groupid\":" + togroup_id + "}";
        res = wxs.GetPage(posturl, postData);

        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "",
          "alert('移動分組成功!由于緩存問題,您可能需要重新登錄才能看到效果!');location='WxGroupManageList.aspx';", true);
      }
    }

    /// <summary>
    /// 創建分組
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void LinkBtnCreateGroup_Click(object sender, EventArgs e)
    {
      if (this.txtgroupsName.Value.Equals("分組名稱"))
      {
        ////
        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('不能為空!')", true);
        this.txtgroupsName.Focus();
        return;
      }


      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/groups/create?access_token=" + Access_tokento;

      string postData = "{\"group\":{\"name\":\"" + this.txtgroupsName.Value.ToString().Trim() + "\"}}"; 
      res = wxs.GetPage(posturl, postData); 
      ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "",
        "alert('創建成功!如未顯示,請退出重新登錄即可!');location='WxGroupManageList.aspx';", true);
    }
  }

WeiXinServer.cs代碼:

/// <summary>
  /// 微信服務類
  /// </summary>
  public class WeiXinServer
  {
    /// <summary>
    /// 獲取通行證
    /// </summary>
    /// <returns></returns>
    public string GetAccessToken()
    {
      string url_token =
        "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx3eb5bf1290db2ca0&secret=e6013be0a7338c7d3e02877db116e231";
      HttpWebRequest myRequest = (HttpWebRequest) WebRequest.Create(url_token);
      myRequest.Method = "GET";
      HttpWebResponse myResponse = (HttpWebResponse) myRequest.GetResponse();
      StreamReader reader = new StreamReader(myResponse.GetResponseStream(), Encoding.UTF8);
      string content = reader.ReadToEnd();
      reader.Close();
      return content;
    }

    public string GetPage(string p, string postData)
    {
      Stream outstream = null;
      Stream instream = null;
      StreamReader sr = null;
      HttpWebResponse response = null;
      HttpWebRequest request = null;
      Encoding encoding = Encoding.UTF8;
      byte[] data = encoding.GetBytes(postData);
      // 準備請求...
      try
      {
        // 設置參數
        request = WebRequest.Create(p) as HttpWebRequest;
        CookieContainer cookieContainer = new CookieContainer();
        request.CookieContainer = cookieContainer;
        request.AllowAutoRedirect = true;
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        request.ContentLength = data.Length;
        outstream = request.GetRequestStream();
        outstream.Write(data, 0, data.Length);
        outstream.Close();
        //發送請求并獲取相應回應數據
        response = request.GetResponse() as HttpWebResponse;
        //直到request.GetResponse()程序才開始向目標網頁發送Post請求
        instream = response.GetResponseStream();
        sr = new StreamReader(instream, encoding);
        //返回結果網頁(html)代碼
        string content = sr.ReadToEnd();
        string err = string.Empty;
        return content;
      }
      catch (Exception ex)
      {
        string err = ex.Message;
        return string.Empty;
      }
    }
  }

Edit.aspx內容:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Edit.aspx.cs" Inherits="test.Edit" %>

<html >
  <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
    <style type="text/css">
      .inputstyle {
        height: 35px;
        line-height: 35px;
        text-indent: 5px;
        width: 280px;
        background-image: url('images/inputbg.gif');
        background-repeat: repeat-x;
        border-top: solid 1px #a7b5bc;
        border-left: solid 1px #a7b5bc;
        border-right: solid 1px #ced9df;
        border-bottom: solid 1px #ced9df;
        float: left;
        margin: auto 5px auto 5px;
      }

    </style>
  </head>
  <body>
    <form id="form1" runat="server">
      <table border="1" >
        <tr>
          <td >分組編號:</td>
          <td> <asp:TextBox ID="txtGroupId" CssClass="inputstyle" Enabled="false" runat="server"></asp:TextBox></td>
        </tr>
        <tr>
          <td >分組名稱:</td>
          <td> 
            <asp:TextBox ID="txtGroupName" CssClass="inputstyle" runat="server"></asp:TextBox>
          </td>
        </tr>
        <tr>
          <td></td>
          <td>
            <asp:LinkButton ID="LinkBtnSet" runat="server" OnClick="LinkBtnSet_Click" ><div >&nbsp;設&nbsp;置</div></asp:LinkButton></td>
        </tr>
      </table>
    </form>
  </body>
</html>

Edit.aspx.cs代碼:

 public partial class Edit : System.Web.UI.Page
  {
    protected void Page_Load(object sender, EventArgs e)
    {
      if (!Page.IsPostBack)
      {
        if (Request.QueryString["id"] != null)
        {
          string group_id = Request.QueryString["id"].ToString();
          string group_name = Request.QueryString["name"].ToString();
          this.txtGroupId.Text = group_id.ToString();
          this.txtGroupName.Text = group_name.ToString();
          this.txtGroupName.Focus();
        }
      }
    }

    /// <summary>
    /// 設置
    /// </summary>
    /// <param name="sender"></param>
    /// <param name="e"></param>
    protected void LinkBtnSet_Click(object sender, EventArgs e)
    {
      if (String.IsNullOrWhiteSpace(this.txtGroupName.Text.ToString().Trim()))
      {
        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('不能為空!');", true);
        this.txtGroupName.Focus();
        return;
      }
      if (this.txtGroupName.Text.Trim().Length > 30)
      {
        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('組名稱應在30個字符之內!');", true);
        this.txtGroupName.Focus();
        return;
      }

      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/groups/update?access_token=" + Access_tokento;

      //POST數據例子:POST數據例子:{"group":{"id":108,"name":"test2_modify2"}}

      string postData = "{\"group\":{\"id\":\"" + txtGroupId.Text + "\",\"name\":\"" + this.txtGroupName.Text +
               "\"}}";
      res = wxs.GetPage(posturl, postData);

      //使用Newtonsoft.json
      JObject jsonObj = JObject.Parse(res);

      //獲取返回結果的正確|true|false,
      string isright = jsonObj["errcode"].ToString(); //0
      string istrueorfalse = jsonObj["errmsg"].ToString(); //ok
      if (isright.Equals("0") && istrueorfalse.Equals("ok"))
      {
        //修改成功之后,刷新父窗體,關閉本頁
        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "",
          "alert('修改成功!如未正常顯示,屬緩存問題,請重新登錄即可!');window.open![這里寫圖片描述](http://img.blog.csdn.net/20161008103126694)er.location.reload();this.close();", true);
      }
      else
      {
        ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('修改失敗!');this.close();",
          true);
      }
    }
  }

buttonbg.png

.NET中微信公眾號用戶分組管理的代碼分析

結果如圖:

.NET中微信公眾號用戶分組管理的代碼分析

看完上述內容,你們對.NET中微信公眾號用戶分組管理的代碼分析有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

苍南县| 清原| 榆中县| 海盐县| 商南县| 兴安县| 安平县| 马尔康县| 九江县| 聂荣县| 秦皇岛市| 谢通门县| 印江| 塘沽区| 平度市| 施甸县| 佛教| 长汀县| 长海县| 来安县| 韶关市| 遂溪县| 汤阴县| 庆元县| 石柱| 临朐县| 淄博市| 英超| 大新县| 方山县| 沅江市| 满城县| 滕州市| 金平| 新民市| 上林县| 赣榆县| 临高县| 怀来县| 鄂托克前旗| 平南县|